翻譯|使用教程|編輯:鮑佳佳|2020-08-14 14:54:21.090|閱讀 430 次
概述:Qt作為一個(gè)跨平臺(tái)的c++開(kāi)發(fā)工具,前面我們已經(jīng)講解了如何通過(guò)使用Qt開(kāi)發(fā)GUI程序,本節(jié)我們將講解如何對(duì)程序進(jìn)行編譯,以及編譯必經(jīng)的三個(gè)步驟是什么,以及如何通過(guò)代碼生成實(shí)現(xiàn)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
Qt(發(fā)音為“ cute”,而不是“ cu-tee”)是一個(gè)跨平臺(tái)框架,通常用作圖形工具包,它不僅創(chuàng)建CLI應(yīng)用程序中也非常有用。而且它也可以在三種主要的臺(tái)式機(jī)操作系統(tǒng)以及移動(dòng)操作系統(tǒng)(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設(shè)備,Android(Necessitas)和iOS的端口上運(yùn)行。更多Qt產(chǎn)品詳情點(diǎn)擊這里》》
Qt程序如何編譯Qt Creator為我們調(diào)用了構(gòu)建系統(tǒng),但是了解Qt程序編譯的過(guò)程也是一件有趣的事。對(duì)于小型程序,手動(dòng)編譯所有內(nèi)容,創(chuàng)建目標(biāo)文件然后進(jìn)行鏈接很容易。但是對(duì)于大型項(xiàng)目,命令行很容易編寫(xiě)。如果您熟悉Linux,則可能知道所有程序都是使用描述所有要執(zhí)行的命令行的makefile進(jìn)行編譯的。但是對(duì)于某些項(xiàng)目,編寫(xiě)makefile也可能會(huì)感覺(jué)乏味。
qmake是Qt附帶的構(gòu)建系統(tǒng),它會(huì)為您生成那些makefile(還有其他可以使用的makefile,但是我們?cè)谶@里給出qmake的示例)。使用簡(jiǎn)單的語(yǔ)法,它會(huì)生成用于編譯Qt程序的makefile。但這不是它的唯一功能。Qt使用元對(duì)象來(lái)擴(kuò)展C ++功能,而qmake負(fù)責(zé)準(zhǔn)備一個(gè)包含此元對(duì)象提取階段的makefile。您將在另一章中看到。
因此,Qt應(yīng)用程序分3個(gè)步驟進(jìn)行編譯
本章概述了小部件模塊。它將介紹小部件屬性,小部件中使用的繼承方案等。接下來(lái)我們將對(duì)這些按鈕進(jìn)行一些自定義。
Qt對(duì)象具有許多可以使用getter和setter修改的屬性。在Qt中,如果一個(gè)屬性稱(chēng)為foo,則關(guān)聯(lián)的getter和setter將具有這些簽名
Tfoo() const; void setFoo(const T);
實(shí)際上,Qt將屬性,獲取器和設(shè)置器的系統(tǒng)擴(kuò)展到稱(chēng)為property的東西。屬性是可以訪問(wèn),修改或常量并且可以通知更改的任何類(lèi)型的值。屬性系統(tǒng)很有用,尤其是在第三部分(QML)中。現(xiàn)在,我們將使用“屬性”或“屬性”來(lái)做同樣的事情。
QPushButton具有很多屬性:
因此,我們可以使用它們來(lái)自定義按鈕。
我們首先更改文本并添加工具提示
#include#include int main(int argc, char **argv) { QApplication app (argc, argv); QPushButton button; button.setText("My text"); button.setToolTip("A tooltip"); button.show(); return app.exec(); }
結(jié)果如下:
我們還可以更改字體。在Qt中,字體用QFont類(lèi)表示。該文檔提供了大量信息。我們?cè)谶@里特別關(guān)注QFont的構(gòu)造函數(shù)之一。
QFont(const QString & family, int pointSize = –1, int weight = -1, bool italic = false)
為了更改字體,我們必須實(shí)例化QFont類(lèi),然后使用setFont將其傳遞給QPushButton。以下代碼片段會(huì)將字體更改為Courier。
QFont font ("Courier"); button.setFont(font);
您可以嘗試使用QFont構(gòu)造函數(shù)的其他參數(shù)來(lái)重現(xiàn)本章第一張圖片中所示的按鈕。
設(shè)置圖標(biāo)也不是很困難。QIcon類(lèi)表示一個(gè)圖標(biāo)。如果文件系統(tǒng)中具有絕對(duì)(或相對(duì))路徑,則可以創(chuàng)建一個(gè)圖標(biāo)。我建議在此示例中提供絕對(duì)路徑。但是出于部署方面的考慮,您可以使用相對(duì)路徑,或者更好地使用資源系統(tǒng)。
QIcon icon ("/path/to/my/icon/icon.png"); button.setIcon(icon);
在Linux和其他某些OS上,有一種方便的方法可以通過(guò)圖標(biāo)主題設(shè)置圖標(biāo)。可以使用靜態(tài)方法來(lái)完成:
QIcon Qicon::fromTheme ( const QString &name, const QIcon &fallback = QIcon());
例如,在本章開(kāi)始的屏幕截圖中,笑臉來(lái)自O(shè)xygen KDE圖標(biāo)主題,其設(shè)置方式是:
button.setIcon(QIcon::fromTheme("face-smile"));
今天分享的內(nèi)容就到這里,下一篇文章中我們講解Qt類(lèi)層次,更多Qt產(chǎn)品詳情點(diǎn)擊這里》》。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: