您的位置:首页 > 编程语言 > Qt开发

Qt界面的一些技巧和实现笔记

2011-04-20 15:27 567 查看
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与之类似,可以参考。 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());
//......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: