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 # 模版類(lèi)型,應(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 改名稱(chēng),將替換所有用到這個(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ì)話(huà)框
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è)置名稱(chēng)-> 創(chuàng)建好后在左側(cè)導(dǎo)航欄 Resources 中會(huì)有剛創(chuàng)建好的文件->選中創(chuàng)建好的文件->在中間底部窗口Prefix 欄填寫(xiě)前綴->點(diǎn)擊中間底部窗口左上角的 Add Files添加文件

Qt 核心特點(diǎn)

  • Qt 對(duì)標(biāo)準(zhǔn) C++進(jìn)行了擴(kuò)展,引入了一些新的概念和功能. 使用元對(duì)象編譯器(Meta-Object Compiler, 簡(jiǎn)稱(chēng)MOC,是一個(gè)預(yù)處理器)先將 Qt 的特性程序轉(zhuǎn)換成標(biāo)準(zhǔn)的 C++程序,再由標(biāo)準(zhǔn)C++編譯器進(jìn)行編譯
  • 只有添加了 Q_OBJECT 宏,moc 才能對(duì)類(lèi)里的信號(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)類(lèi)型轉(zhuǎn)換等。
  • 元對(duì)象系統(tǒng)(Meta-Object System)
    • QObject 類(lèi)是所有使用元對(duì)象系統(tǒng)的類(lèi)的基類(lèi)
    • 在一個(gè)類(lèi)的 private 部分聲明 Q_OBJECT 宏
    • MOC 為每個(gè) QObject 的子類(lèi)提供必要的代碼

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


  • qreal 默認(rèn)是 8 字節(jié) double 類(lèi)型浮點(diǎn)數(shù),如果 Qt 使用-qreal float 選項(xiàng)進(jìn)行配置,就是 4 字節(jié) float 類(lèi)型的浮點(diǎn)數(shù)
  • qfloat16 是 Qt5.9.0 中新增的一個(gè)類(lèi),用于表示 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)系作者
  • 序言:七十年代末卑雁,一起剝皮案震驚了整個(gè)濱河市募书,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌测蹲,老刑警劉巖莹捡,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異扣甲,居然都是意外死亡道盏,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)文捶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荷逞,“玉大人,你說(shuō)我怎么就攤上這事粹排≈衷叮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵顽耳,是天一觀的道長(zhǎng)坠敷。 經(jīng)常有香客問(wèn)我,道長(zhǎng)射富,這世上最難降的妖魔是什么膝迎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮胰耗,結(jié)果婚禮上限次,老公的妹妹穿的比我還像新娘。我一直安慰自己柴灯,他們只是感情好卖漫,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著赠群,像睡著了一般羊始。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上查描,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天突委,我揣著相機(jī)與錄音柏卤,去河邊找鬼。 笑死匀油,一個(gè)胖子當(dāng)著我的面吹牛缘缚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钧唐,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼匠襟!你這毒婦竟也來(lái)了钝侠?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤酸舍,失蹤者是張志新(化名)和其女友劉穎帅韧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體啃勉,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忽舟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淮阐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叮阅。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖泣特,靈堂內(nèi)的尸體忽然破棺而出浩姥,到底是詐尸還是另有隱情,我是刑警寧澤状您,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布勒叠,位于F島的核電站,受9級(jí)特大地震影響膏孟,放射性物質(zhì)發(fā)生泄漏眯分。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一柒桑、第九天 我趴在偏房一處隱蔽的房頂上張望弊决。 院中可真熱鬧,春花似錦魁淳、人聲如沸丢氢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)疚察。三九已至,卻和暖如春仇奶,著一層夾襖步出監(jiān)牢的瞬間貌嫡,已是汗流浹背比驻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岛抄,地道東北人别惦。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像夫椭,于是被迫代替她去往敵國(guó)和親掸掸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容