QT总结

作为一个QT(C++/linux/windows)开发工程师,把自己在工作中遇到的一些QT问题持续总结给大家,一起分享:

 

 

一、隐藏鼠标:QApplication::setOverrideCursor(Qt::BlackCursor);

 

二、条件编译debug和release:

CONFIG +=debug_and_release

CONFIG(debug,debug|release)

{

//生成位置

DESTDIR+=$$PWD/debug

//库依赖

LIBS += -L$$PWD/ -lprotobuf

}else{

}

 

三、屏蔽release版本中所有QDebug()提示信息,可以在pro文件中添加DEFINES+=QT_NO_DEBUG_OUTPUT

 

四、窗体至于父窗体之上:QWidget->raise();这块注意区分QDialog的模态和非模态

 

五、中文显示乱码:QStringLiteral("中文");或者QString::toLocal8Bit();

 

六、获取linux的hostname:QHostInfo::localHostName();

 

七、子控件不受父控件的影响:QLabel->setStyleSheet("#objectName{background-color:black}");这里注意用#objectName

 

八、QT信号槽不支持类型的情况下需要测试此类型:

qRegisterMetaType<std::string> (“std::string”);

qRegisterMetaType<std::string> (“std::string&”);

 

九、用一个pro工程加载和编译若干个工程,这样加载一个工程即可全部加载,无需一个个打开添加pro,编译一样:

新建一个Alllib工程,在Alllib.pro里面添加:

#设置ordered参数以后会依次编译 demo designer examples

TEMPLATE = subdirs

CONFIG  += ordered

SUBDIRS += ../tmp1

SUBDIRS += ../tmp2

。。。。。。。。。

 

十、error:"QApplication:No Such file or direction":

Qt5里不再用QtGui模块,而是使用QtWidgets模块

解决方法:在pro文件里面添加:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

 

十一、QT Creator添加自定义注释:

打开 Qt Creator,菜单选择:工具 -> 选项 -> 文本编辑器 -> 片段。点击“添加”按钮,编辑自定义的“触发”。

/**
* @projectName   %{CurrentProject:Name}
* @brief         摘要
* @author        Peidong Xu
* @date          %{CurrentDate:yyyy-MM-dd}
*/

posted @ 2019-05-30 13:53  徐沛东  阅读(821)  评论(1编辑  收藏  举报