分类:
2010-11-13 14:56:55
1、是程序启动时屏幕居中
#include
//....
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
//....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与之类似,可以参考。
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());
//......