Qt使用技巧

記錄下一些使用Qt的小技巧

快捷操作

  • 快速從函數(shù)聲明創(chuàng)建函數(shù)定義,Alt+Enter
  • 跳轉(zhuǎn)到定義處,F(xiàn)2
  • 搜索鼠標當(dāng)前位置單詞,F(xiàn)3
  • .h、.cpp切換,F(xiàn)4
  • 查找用過某個變量or函數(shù)的地方,單詞上右鍵->Find Usages
  • 定位器使用:過濾器前綴 + "空格" + 定位內(nèi)容,e.g.查找名字為save()的函數(shù):m save
  • 添加虛函數(shù)實現(xiàn):類名上右鍵->Refactor->Insert Virtual Functions
  • 查看類的繼承:Ctrl+Shift+T

多線程編譯加速(僅Mingw)

  • 對所有項目操作,在構(gòu)建套件的環(huán)境中增加MAKEFLAGS=-j8
  • 對單個項目操作,項目->構(gòu)建步驟->Make詳情->Make參數(shù),添加:-j8

qrc文件不及時更新

qss文件在qrc資源文件中,修改qss文件不重新構(gòu)建不會更新。可以通過修改qrc文件的時間屬性,讓編譯器能夠檢測到文件修改并重新編譯,在qrc文件目錄下:touch xxx.qrc即可。

構(gòu)建庫時安裝到指定目錄

  1. 在pro配置的相關(guān)文件
target.path = $$LIB_INSTALL_ROOT/XXX
headers.path = $$INCLUDE_INSTALL_ROOT/XXX
XXX.h

INSTALLS += target \
headers
  1. 構(gòu)建->添加步驟->Make->參數(shù)加上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文件需要添加下面內(nèi)容,否則不會抽取qml中字符串
lupdate_only {
SOURCES += SignIn/qml/SignInQmlView.qml
}

程序圖標版本號設(shè)置

//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);
//重新設(shè)置新的該控件的樣式。
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;
}

根據(jù)操作系統(tǒng)判斷加載

macx {
    QMAKE_INFO_PLIST = resource/app/Info.plist
    ICON = resource/app/fstl.icns
}

win32 {
    RC_FILE = resource/exe/fstl.rc
}

linux {
    target.path = /usr/bin
    INSTALLS += target
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容