當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > QT開(kāi)發(fā)入門(mén)基礎(chǔ)及界面的建立原理
QT開(kāi)發(fā)入門(mén)基礎(chǔ)及界面的建立原理
時(shí)間:2018-08-03 來(lái)源:未知
QT基礎(chǔ)學(xué)習(xí)=========================
第一階段
============================================================================
1. QT creater的編譯快捷鍵
(1) Qmake -project表示生成.pro文件
(2) qmake表示生成makefile
(3) make表示可執(zhí)行程序;
2. disconnect取消所有函數(shù)中指定信號(hào)與槽的鏈接;
3. 信號(hào)與槽函數(shù)的關(guān)系
(1) 參數(shù)類(lèi)型必須要匹配;
(2) 信號(hào)的參數(shù)可以比槽函數(shù)多,但是不能少;
(3) 使用前提:在自己的類(lèi)中必須要有宏定義,Q_OBJECT
(4) 自己的類(lèi)必須是Qobject類(lèi)的直接或者間接的子類(lèi)
(5) widget是Qobject的子類(lèi),connect函數(shù)是Qobject中定義,所以才能使用;
4. 編譯的過(guò)程
(1) Widget.cpp編譯生成
(2) 函數(shù)利用set_up函數(shù)建立自動(dòng)函數(shù)定義和鏈接關(guān)系;
=================================================================
第二課:QT界面的建立原理
=================================================================
1. 在函數(shù)中setupUI,建立槽的連接;
2. 新建UI過(guò)程
(1) 每一個(gè)控件都是一個(gè)獨(dú)立的類(lèi)對(duì)象;
(2) 獨(dú)立的控件都是window窗口,設(shè)置parent = 0:
(3) 當(dāng)parent的值為其他控件的地址,則為子控件;
(4) 子控件不需要單獨(dú)顯示show函數(shù),如果父控件顯示,子控件自動(dòng)顯示;
(5) Resize()大小調(diào)整
(6) Move()移動(dòng)位置
(7) Setfront()設(shè)置字體;
(8) Setwindowicon()設(shè)置圖標(biāo);在此之前需要先定義qicon i(路徑名稱(chēng))
3. 理解main函數(shù)中的return a.exec():主運(yùn)行循環(huán)
(1) 防止主程序結(jié)束,重新開(kāi)始循環(huán)執(zhí)行主程序;
(2) 開(kāi)啟事件隊(duì)列,并且進(jìn)行事件分發(fā);
4. 幫助手冊(cè)解讀
(1) 在類(lèi)的屬性中,獲取屬性函數(shù)
① 如果屬性是Bool類(lèi)型,則獲取該屬性的函數(shù)名是前面加上is,部分直接以屬性名字命名;
② 如果屬性不是Bool類(lèi)型,則該屬性函數(shù)名的獲取名即為屬性名本身;
(2)設(shè)置屬性加上為set;
5. Widget表示空白窗口,window表示有標(biāo)題欄的窗口,dialog表示對(duì)話框;
6. 函數(shù)的自動(dòng)調(diào)用機(jī)制
(1) 當(dāng)操作系統(tǒng)接收到一種信號(hào)后,如果QT程序正在運(yùn)行狀態(tài),則QT會(huì)接收到這個(gè)信號(hào),并且自動(dòng)調(diào)用控件類(lèi)中已經(jīng)定義好的函數(shù),
7. eventFilter函數(shù)
(1) 定義eventFilter函數(shù)
(2) 給控件安裝eventFilter函數(shù)安裝;
8. 事件的傳遞性
(1) 某一種控件除了在某一個(gè)控件上發(fā)生外,還會(huì)傳遞給父控件;
(2) Eventfileter函數(shù)如果返回true,則不會(huì)傳遞,默認(rèn)return false;
(3) Event->accept()作用相當(dāng)于返回false,適用于所有event;
(4) Event->ignal作用相當(dāng)于返回true;
9. 實(shí)現(xiàn)多個(gè)控件的事件觸發(fā)
(1) 在定義中用qApp來(lái)指定所有的控件;
(2) 用notify實(shí)現(xiàn)事件的分發(fā),如果需要重新定義notify函數(shù),需要在notify'中returned父類(lèi)的函數(shù);
10. Postevent函數(shù)實(shí)現(xiàn)異步事件處理
11. ui中固定界面的大小方法
(1) 直接將maxsize和minsize設(shè)置成一致;
(2) 在構(gòu)造函數(shù)中,使用setfixsize( this->width, this->height)來(lái)固定大小;
華清遠(yuǎn)見(jiàn)90+項(xiàng)目獲批!教育部2021最新協(xié)同育人項(xiàng)目名
華清遠(yuǎn)見(jiàn)榮獲2021騰訊教育“年度口碑影響力職業(yè)教育品
華清遠(yuǎn)見(jiàn)受邀參加2021年武漢民辦高校信息學(xué)科合作聯(lián)盟
溫暖同行共創(chuàng)佳績(jī) 2019華清遠(yuǎn)見(jiàn)北京總部年會(huì)大曝光
助力高校AI人工智能學(xué)科建設(shè) 華清遠(yuǎn)見(jiàn)人工智能師資班
華清遠(yuǎn)見(jiàn)受邀參加四川省物聯(lián)網(wǎng)年會(huì),榮獲優(yōu)秀企業(yè)專(zhuān)家
