Advertisement

Qt开发注意事项

阅读量:
  1. 如果出现'tr' was not declared in this scope的问题,将tr替换为QObject::tr即可。
  2. Qt设置控件随窗口大小变化的方法:拖一个控件到窗体上(任何控件都可以);在窗体空白处右键 -> 布局 -> 栅格布局即可。
  3. 显示的界面其父类要么统一为QWidget,要么统一为QDialog,如果混用的话,会出现界面混乱的BUG
  4. 新版Qt Designer查看窗体代码的地方是窗体 -> 查看代码
  5. Qt::QSplashScreen是欢迎窗口类型,通常用于制作软件的启动动画;Qt::Dialog则是对话框类型。
  6. Qt包含路径信息的代码应该用/符号,例如C:/logo.png
  7. 对于QLineEdit中的验证器,只有输入行被正确地输入时才能触发相应的槽。
  8. 如果出现Qt工程打不开的情况,可以尝试把后缀名为.pro.user的文件删除掉,然后再打开工程。
  9. 如果Qt Creator中的源文件或头文件出现乱码的情况,可以将文件的编码格式转换为System
  10. 如果出现窗口拒绝拖拽打开文件的情况,可以在窗口的构造函数中加入代码setAcceptDrops(true);
  11. Qt界面类(例如Dialogwidget)的变量不能定义为全局变量,否则会出现重大BUG
  12. connect函数的参数分别为信号发射的对象、发射的信号、接收信号的对象、对信号进行处理的槽。发射信号的对象和信号是在同一个类中,接收信号的对象和槽是在同一个类中,这两个类也可以是同一个类。
  13. connect函数中信号的参数和槽的参数是一一对应的,即信号会把自己的参数传递给槽的参数。
  14. qDebug函数无法直接输出string类型的变量,但可以输出QString类型的变量。如果需要输出string变量,则需要在其后面加上.c_str()
  15. QString类型的数据不是以\0结尾的,这要和C语言的字符串进行区分,访问QString中的单个字符使用at函数。
  16. Qt中使用图片时,最好将图片添加到资源文件中,这样可以避免由于图片路径的错误而带来的麻烦。使用资源文件中的图片的方法是:图片的资源文件路径
  17. Qt判断字符串是否为空应该使用成员函数isEmpty(),而不应该用null
  18. Qtfind函数返回的迭代器的类型为const_iterator,因此要将相应的迭代器变量设置为const_iterator型。
  19. 当使用Qt的网络功能时,需要在.pro文件中增加语句QT += network
  20. 关于Qtemit的作用:在程序中应该能找到类似这样的语句connect ( obj, SIGNAL ( changeCurrentShape ( * ) ), anotherobj, SLOG ( FUN ( * ) ) );,当执行到emit changeCurrentShape(Shape::Triangle)时,Qt的信号槽机制会自动触发FUN函数。
  21. 如果需要为窗口上的控件设置加速键,例如按住Alt + N即可跳到某个控件上,可以类似这样做:pushbotton->setText(tr("&nihao"));是设置Alt + N为加速键。如果需要在控件上显示&,需要使用&&
  22. Qt::CaseSensitivity为枚举类型,可取值Qt::CaseSensitive(大小写敏感)和Qt::CaseInsensitive(大小写不敏感),表示匹配的灵敏度。
  23. Qt中,窗口的标题可以随时被改变,要使用setWindowTitle函数。
  24. QtsetGeometry (9, 9, 50, 25)四个参数是指从屏幕上(9,9)位置开始(即为最左上角的点),显示一个50 * 25的界面(宽50,高25)。
  25. Qt中的void QApplication::beep () [static]可以让系统发出蜂鸣声,但是该操作目前不支持嵌入式linux
  26. ui上迅速设置槽函数的方法:在控件上右击,选择转到槽,再点击相应的时间,即可在相应的文件中增加其槽函数。

全部评论 (0)

还没有任何评论哟~