zoukankan      html  css  js  c++  java
  • 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里面添加:

    TEMPLATE = subdirs

    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}
    */

  • 相关阅读:
    windows下开启docker占用内存过高解决办法
    如何与别人共享Docker镜像
    使用docker部署springboot应用
    使用docker安装mysql5.7
    win10家庭版安装docker
    alibaba sentinel简单实践
    mysql函数GROUP_CONCAT()
    SVN同步时报错:“Previous operation has not finished; run 'cleanup' if it was interrupted”
    Eclipse从SVN检出maven项目后的一些配置
    完美解决 Uncaught SyntaxError: Unexpected token ‘<‘
  • 原文地址:https://www.cnblogs.com/xupeidong/p/10948810.html
Copyright © 2011-2022 走看看