Qt界面的一些技巧和实现笔记
2011-08-31 14:20
381 查看
作者:wangxinus, <wangxinus@gmail.com>
来源:http://wangxinus.cublog.cn
说明:原创文章欢迎转载,交流请Email给作者
1、是程序启动时屏幕居中
#include <QDesktopWidget>
//....
int x = (qApp->desktop()->width()- this->width()) / 2;
int y = (qApp->desktop()->height() - this->height()) / 2;
this->move(x, y);
//....
2、工具栏上的QAction对象保持按下状态
myAction->setCheckable(true);
3、使用启动画面
#include <QSplashScreen>
//....main(...)...
//QApplication app(..)...
QSplashScreen* splash = new QSplashScreen;
splash->setPixmap(QPixmap(":/images/start_.png"));
splash->show();
qApp->processEvents();
MainWindow mainWindow;
//....
mainWindow.show();
splash->finish(&mainWindow);
delete splash;
//.........
4、Windows下设置Qt程序.exe文件的图标
建立一个资源文件,app.rc,写入如下一行
IDI_ICON1 ICON DISCARDABLE "your_app_icon.ico"
在你的工程文件***.pro中添加
RC_FILE = app.rc
然后重新编译一次程序就OK,your_app_icon.ico已经被编译在程序中,发布时不需要带。
5、熟悉Qt提供的标准对话框,在程序中大量用到
//QtDemo中Dialogs/Standard Dialogs中有演示和实现代码
QInputDialog中包含了输入数字,文本, 下拉列表等标准对话框。
QColorDialog中包含了一个标准颜色选择对话框。
QFontDialog中包含了一个标准字体选择对话框。
QFileDialog中包含了打开单个和多个文件,选择文件夹,保存文件的标准对话框。
QMessageBox中包含了提示,警告,错误,问答等标准对话框。
这个都可以在Qt Assist (SDK中就是QtCreator的Help选项中)相应类的静态函数中查到。
6、正则表达式QRegExp的使用
QtDemo中Tools/Regular Expressions 是Qt的正则表达式的测试程序,比较有用。
QtAssist中QRegExp条目下有QRegExp的使用说明,只是可能不太详尽。
一篇正则表达式的网文,QRegExp与之类似,可以参考。
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm
7、如何添加右键菜单和如何在在item中添加右键菜单可以参考这里
http://blog.chinaunix.net/u3/103355/showart_2101226.html http://blog.chinaunix.net/u3/103355/showart_2101288.html
8、Qt程序的多国语言界面自由切换的实现参考这里
http://blog.chinaunix.net/u3/103355/showart_2090421.html
9、后面添加Q_OBJECT宏时编译出现“undefined reference to vtable for”
简短的说,Clean整个工程,然后到工程目录下面把Makefile,Makefile.Debug,Makefile.Release都删除,基本都会解决。更详细可以参考这里:
http://blog.chinaunix.net/u3/103355/showart_2064628.html
10、创建停靠窗口
//这是我代码中的一段,MainWindow....
_dock = new QDockWidget(tr("Output Window"), this);
_output = new QTextEdit(_dock);
_dock->setWidget(_output);
_dock->setAllowedAreas(Qt::BottomDockWidgetArea);
addDockWidget(Qt::BottomDockWidgetArea, _dock);
viewMenu->addAction(_dock->toggleViewAction());
//......
来源:http://wangxinus.cublog.cn
说明:原创文章欢迎转载,交流请Email给作者
1、是程序启动时屏幕居中
#include <QDesktopWidget>
//....
int x = (qApp->desktop()->width()- this->width()) / 2;
int y = (qApp->desktop()->height() - this->height()) / 2;
this->move(x, y);
//....
2、工具栏上的QAction对象保持按下状态
myAction->setCheckable(true);
3、使用启动画面
#include <QSplashScreen>
//....main(...)...
//QApplication app(..)...
QSplashScreen* splash = new QSplashScreen;
splash->setPixmap(QPixmap(":/images/start_.png"));
splash->show();
qApp->processEvents();
MainWindow mainWindow;
//....
mainWindow.show();
splash->finish(&mainWindow);
delete splash;
//.........
4、Windows下设置Qt程序.exe文件的图标
建立一个资源文件,app.rc,写入如下一行
IDI_ICON1 ICON DISCARDABLE "your_app_icon.ico"
在你的工程文件***.pro中添加
RC_FILE = app.rc
然后重新编译一次程序就OK,your_app_icon.ico已经被编译在程序中,发布时不需要带。
5、熟悉Qt提供的标准对话框,在程序中大量用到
//QtDemo中Dialogs/Standard Dialogs中有演示和实现代码
QInputDialog中包含了输入数字,文本, 下拉列表等标准对话框。
QColorDialog中包含了一个标准颜色选择对话框。
QFontDialog中包含了一个标准字体选择对话框。
QFileDialog中包含了打开单个和多个文件,选择文件夹,保存文件的标准对话框。
QMessageBox中包含了提示,警告,错误,问答等标准对话框。
这个都可以在Qt Assist (SDK中就是QtCreator的Help选项中)相应类的静态函数中查到。
6、正则表达式QRegExp的使用
QtDemo中Tools/Regular Expressions 是Qt的正则表达式的测试程序,比较有用。
QtAssist中QRegExp条目下有QRegExp的使用说明,只是可能不太详尽。
一篇正则表达式的网文,QRegExp与之类似,可以参考。
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm
7、如何添加右键菜单和如何在在item中添加右键菜单可以参考这里
http://blog.chinaunix.net/u3/103355/showart_2101226.html http://blog.chinaunix.net/u3/103355/showart_2101288.html
8、Qt程序的多国语言界面自由切换的实现参考这里
http://blog.chinaunix.net/u3/103355/showart_2090421.html
9、后面添加Q_OBJECT宏时编译出现“undefined reference to vtable for”
简短的说,Clean整个工程,然后到工程目录下面把Makefile,Makefile.Debug,Makefile.Release都删除,基本都会解决。更详细可以参考这里:
http://blog.chinaunix.net/u3/103355/showart_2064628.html
10、创建停靠窗口
//这是我代码中的一段,MainWindow....
_dock = new QDockWidget(tr("Output Window"), this);
_output = new QTextEdit(_dock);
_dock->setWidget(_output);
_dock->setAllowedAreas(Qt::BottomDockWidgetArea);
addDockWidget(Qt::BottomDockWidgetArea, _dock);
viewMenu->addAction(_dock->toggleViewAction());
//......
相关文章推荐
- Qt界面的一些技巧和实现笔记
- Qt界面的一些技巧和实现笔记
- Qt界面的一些技巧和实现笔记
- C++BUILDER中一些实现界面效果的技巧
- QT之界面实现技巧
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- 关于Qt获取界面的一些函数的笔记
- Qt之界面实现技巧
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- Qt之界面实现技巧
- Qt之界面实现技巧
- Qt之界面实现技巧
- 关于Qt获取界面的一些函数的笔记
- QT界面(控件)相关设计的一些技巧总结
- qt 之界面 实现技巧
- Qt之界面实现技巧
- Qt实现360安全卫士10.0界面(编译时出现的一些问题)
- Qt之界面实现技巧(QSS)
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- Qt之界面实现技巧之按钮,边框,主题背景等