QT

  • 控制臺(tái)報(bào) Qt has only been tested with version 10.15 of the platfrom SDK, you're using 13.1. This is an unsupported configuration. You may experience build issues, and by using the 13.1 SDK you are opting in to new feature that Qt has not been prepared for. Please downgrade ths SDK you use to build your app to version 10.15, or configure with CONFIG+=sdk_no_version_check when running qmake to silence this warning 的錯(cuò)誤,需要在 .pro 文件中設(shè)置
CONFIG += sdk_no_version_check
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15
  • 編譯系統(tǒng): QT 目前支持三種編譯系統(tǒng)qmake、Cmake、qbs
    • 目前 qmake 使用最多
    • 以后 Cmake 取代 qmake
    • qbs 市場(chǎng)原因,棄用
  • pro 文件中部分內(nèi)容釋義:
QT += core gui  #包含的模塊
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # 大于 QT4 版本才包含 widget 模塊
TARGET = example_1 # 應(yīng)用程序名,生成的.exe 程序名
TEMPLATE = app # 模版類型,應(yīng)用程序模版
DEFINES += QT_DEPRECATED_WARNINGS # 定義編譯選項(xiàng),QT_DEPRECATED_WARNINGS表示當(dāng) Qt 的某些功能被標(biāo)記為過(guò)時(shí)的,那么編譯器會(huì)發(fā)出警告

SOURCES += \main.app\widget.cpp  # 源文件
HEADERS += \widget.h  # 頭文件
FORMS += \widget.ui  #ui 界面
  • Qt Creator 的一些快捷鍵
功能 快捷鍵 解釋
Switch Header/Source F4 在同名的頭文件和源程序文件之間切換
Follow Symbol Under Cursor F2 變量:跳轉(zhuǎn)到聲明;函數(shù):聲明和定義切換
Switch Between Function Declartion and Definition Shift + F2 函數(shù):生命和定義切換
Refactor/Rename Symbol Under Cursor Ctrl+Shift+R 改名稱,將替換所有用到這個(gè)符號(hào)的地方
Refactor/Add Definition in .cpp 為函數(shù)原型在 cpp 文件中生成函數(shù)體
Auto-indent Selection Ctrl+I 為選擇的文字自動(dòng)縮進(jìn)
Toggle Comment Selection Ctrl+/ 注釋或取消注釋
Context Help F1 為光標(biāo)所在的符號(hào)顯示幫助
Save All Ctrl+Shift +S 文件全部保存
Find/Replace Ctrl+F 調(diào)出查找/替換對(duì)話框
Find Next F3 查找下一個(gè)
Build Ctrl+B 編譯當(dāng)前項(xiàng)目
Start Debugging F5 開(kāi)始調(diào)試
Step Over F10 單步(略過(guò))調(diào)試,執(zhí)行當(dāng)前語(yǔ)句
Step Into F11 單步(跟蹤)調(diào)試,如果當(dāng)前行里有函數(shù),就跟蹤進(jìn)入函數(shù)
Toggle Breakpoint F9 設(shè)置或取消當(dāng)前行的斷點(diǎn)
  • 添加資源文件: 左側(cè)導(dǎo)航欄項(xiàng)目名->右鍵->add New -> Qt -> Qt Resource File -> 設(shè)置名稱-> 創(chuàng)建好后在左側(cè)導(dǎo)航欄 Resources 中會(huì)有剛創(chuàng)建好的文件->選中創(chuàng)建好的文件->在中間底部窗口Prefix 欄填寫前綴->點(diǎn)擊中間底部窗口左上角的 Add Files添加文件

Qt 核心特點(diǎn)

  • Qt 對(duì)標(biāo)準(zhǔn) C++進(jìn)行了擴(kuò)展,引入了一些新的概念和功能. 使用元對(duì)象編譯器(Meta-Object Compiler, 簡(jiǎn)稱MOC,是一個(gè)預(yù)處理器)先將 Qt 的特性程序轉(zhuǎn)換成標(biāo)準(zhǔn)的 C++程序,再由標(biāo)準(zhǔn)C++編譯器進(jìn)行編譯
  • 只有添加了 Q_OBJECT 宏,moc 才能對(duì)類里的信號(hào)與槽進(jìn)行預(yù)處理
    Qt 為 C++語(yǔ)言增加的特性在 Qt Core 模塊里實(shí)現(xiàn),由 Qt 的元對(duì)象系統(tǒng)實(shí)現(xiàn)。包括:信號(hào)與槽機(jī)制、屬性系統(tǒng)、動(dòng)態(tài)類型轉(zhuǎn)換等。
  • 元對(duì)象系統(tǒng)(Meta-Object System)
    • QObject 類是所有使用元對(duì)象系統(tǒng)的類的基類
    • 在一個(gè)類的 private 部分聲明 Q_OBJECT 宏
    • MOC 為每個(gè) QObject 的子類提供必要的代碼

  • Qt 全局定義:<QtGlobal>頭文件包含了 Qt類庫(kù)的一些全局定義,包括: 基本數(shù)據(jù)類型、函數(shù)、宏、
  • 定義基本數(shù)據(jù)類型是因?yàn)閏++ 的數(shù)據(jù)類型在不同的平臺(tái)上數(shù)據(jù)長(zhǎng)度是不同, Qt 定的數(shù)據(jù)類型可以保證在各個(gè)平臺(tái)上數(shù)據(jù)類型長(zhǎng)度是統(tǒng)一的


  • qreal 默認(rèn)是 8 字節(jié) double 類型浮點(diǎn)數(shù),如果 Qt 使用-qreal float 選項(xiàng)進(jìn)行配置,就是 4 字節(jié) float 類型的浮點(diǎn)數(shù)
  • qfloat16 是 Qt5.9.0 中新增的一個(gè)類,用于表示 16 位的浮點(diǎn)數(shù),要使用 afloat16,需要包含頭文件<QFloat16>
  • QT_VERSION: 這個(gè)宏展開(kāi)為數(shù)值形式 0xMMNNPP(MM=major, NN=minor,PP=patch)表示 Qt 編譯器版本,例如 Qt 編譯器版本為 Qt5.9.1,則 QT_VERSION 為 0x050901。這個(gè)宏常用于條件編譯設(shè)置,根據(jù)不同的 Qt 版本,編譯不同的代碼段
  • QT_VERSION_CHECK: 這個(gè)宏展開(kāi)為 Qt 版本號(hào)的一個(gè)整數(shù)表示句號(hào), 比如 QT_VERSION >= QT_VERSION_CHECK(5,0,0) 表示大于等于 5.0.0 的 qt版本
  • QT_VERSION_STR: 這個(gè)宏展開(kāi)為 qt 版本號(hào)的字符串
  • Q_UNUSED: 對(duì)于使用不到的變量或參數(shù)可以使用Q_UNUSED(arg1); 忽略未使用的參數(shù) arg1 的警告
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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