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