Qt使用技巧

作者: 玖零儛 | 来源:发表于2019-09-23 22:14 被阅读0次

    记录下一些使用Qt的小技巧

    快捷操作

    • 快速从函数声明创建函数定义,Alt+Enter
    • 跳转到定义处,F2
    • 搜索鼠标当前位置单词,F3
    • .h、.cpp切换,F4
    • 查找用过某个变量or函数的地方,单词上右键->Find Usages
    • 定位器使用:过滤器前缀 + "空格" + 定位内容,e.g.查找名字为save()的函数:m save
    • 添加虚函数实现:类名上右键->Refactor->Insert Virtual Functions
    • 查看类的继承:Ctrl+Shift+T

    多线程编译加速(仅Mingw)

    • 对所有项目操作,在构建套件的环境中增加MAKEFLAGS=-j8
    • 对单个项目操作,项目->构建步骤->Make详情->Make参数,添加:-j8

    qrc文件不及时更新

    qss文件在qrc资源文件中,修改qss文件不重新构建不会更新。可以通过修改qrc文件的时间属性,让编译器能够检测到文件修改并重新编译,在qrc文件目录下:touch xxx.qrc即可。

    构建库时安装到指定目录

    1. 在pro配置的相关文件
    target.path = $$LIB_INSTALL_ROOT/XXX
    headers.path = $$INCLUDE_INSTALL_ROOT/XXX
    XXX.h
    
    INSTALLS += target \
    headers
    
    1. 构建->添加步骤->Make->参数加上install

    Qt信号连接重载写法

    connect(m_pBtn, QOverload<bool>::of(&MyButton::sigClicked),this,&Widget::onClicked);
    

    修改带UI的界面类继承的基类

    1. .h、.cpp 将父类改成QDialog
    2. ui文件用编辑器打开, “<widget class="QWidget"...” ,将class值改为QDialog

    语言家抽取qml中翻译字符串

    //pro文件需要添加下面内容,否则不会抽取qml中字符串
    lupdate_only {
    SOURCES += SignIn/qml/SignInQmlView.qml
    }
    

    程序图标版本号设置

    //pro文件中写上标记版本号+ico图标
    VERSION             = 2018.7.25
    win32:RC_ICONS      = main0.ico
    

    管理员运行程序,限定在MSVC编译器

    //pro文件添加
    QMAKE_LFLAGS +=/MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\" #以管理员运行
    QMAKE_LFLAGS +=/SUBSYSTEM:WINDOWS,\"5.01\" #VS2013 在XP运行
    

    移除旧的样式

    style()->unpolish(ui->btn);
    //重新设置新的该控件的样式。
    style()->polish(ui->btn);
    

    获取类的属性

    const QMetaObject *metaobject =object->metaObject();
    int count = metaobject->propertyCount();
    for (int i = 0; i < count; ++i) {
       QMetaProperty metaproperty = metaobject->property(i);
       const char *name = metaproperty.name();
       QVariant value = object->property(name);
       qDebug() << name << value;
    }
    

    根据操作系统位数判断加载

    win32 {
       contains(DEFINES, WIN64) {
           DESTDIR = $${PWD}/../../bin64
        }else {
            DESTDIR = $${PWD}/../../bin32
        }
    }
    

    相关文章

      网友评论

        本文标题:Qt使用技巧

        本文链接:https://www.haomeiwen.com/subject/yigmuctx.html