翻譯|使用教程|編輯:龔雪|2023-08-09 10:57:59.160|閱讀 122 次
概述:本文中是一個(gè)基于Qt Widgets的記事本應(yīng)用程序的教程,歡迎大家下載組件一起體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt 是目前最先進(jìn)、最完整的跨平臺(tái)C++開發(fā)工具。它不僅完全實(shí)現(xiàn)了一次編寫,所有平臺(tái)無差別運(yùn)行,更提供了幾乎所有開發(fā)過程中需要用到的工具。如今,Qt已被運(yùn)用于超過70個(gè)行業(yè)、數(shù)千家企業(yè),支持?jǐn)?shù)百萬設(shè)備及應(yīng)用。
在本文中,我們通過使用C++和Qt Widgets模塊實(shí)現(xiàn)一個(gè)簡(jiǎn)單的記事本應(yīng)用程序來學(xué)習(xí)基本的Qt知識(shí),該應(yīng)用程序是一個(gè)小型的文本編輯器,允許您創(chuàng)建文本文件、保存、打印或重新打開并在此編輯它,還可以設(shè)置要使用的字體。
在上文中(點(diǎn)擊這里回顧>>),我們?yōu)榇蠹医榻B了如何從Qt Creator中運(yùn)行示例、如何創(chuàng)建記事本項(xiàng)目等,本文將繼續(xù)講解主源文件和設(shè)計(jì)一個(gè)用戶界面。
Qt技術(shù)交流群:166830288 歡迎一起進(jìn)群討論
向?qū)г趍ain.cpp文件中生成以下代碼:
#include "notepad.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Notepad w; w.show(); return a.exec(); }
我們將逐行瀏覽代碼,下面幾行包括Notepad小部件和QApplication的頭文件,所有Qt類都有一個(gè)以它們命名的頭文件。
#include "notepad.h" #include <QApplication>
下面這行定義了main函數(shù),它是所有基于C和C++的應(yīng)用程序的入口點(diǎn):
int main(int argc, char *argv[])
下面這行代碼創(chuàng)建了一個(gè)QApplication對(duì)象,這個(gè)對(duì)象管理應(yīng)用程序范圍內(nèi)的資源,并且是運(yùn)行任何使用Qt Widgets的Qt程序所必需的,它用argv中運(yùn)行的argc命令行參數(shù)構(gòu)造一個(gè)應(yīng)用程序?qū)ο蟆?對(duì)于不使用Qt Widgets的GUI應(yīng)用程序,您可以使用QGuiApplication代替)
QApplication a(argc, argv);
下面一行代碼創(chuàng)建Notepad對(duì)象,這是向?qū)槠鋭?chuàng)建類和UI文件的對(duì)象。用戶界面包含可視元素,這些元素在Qt中被稱為小部件,小部件的例子有文本編輯、滾動(dòng)條、標(biāo)簽和單選按鈕。一個(gè)小部件也可以是其他小部件的容器;例如,對(duì)話框或主應(yīng)用程序窗口。
Notepad w;
下面一行顯示了Notepad小部件在屏幕上的窗口,小部件還可以用作容器。一個(gè)例子是QMainWindow,它通常包含幾種類型的小部件。默認(rèn)情況下,小部件是不可見的;函數(shù)show()使小部件可見。
w.show();
下面一行使QApplication進(jìn)入它的事件循環(huán),當(dāng)Qt應(yīng)用程序運(yùn)行時(shí),會(huì)生成事件并將其發(fā)送給應(yīng)用程序的小部件,事件的例子是鼠標(biāo)按壓和按鍵。
return a.exec();
向?qū)蒟ML格式的用戶界面定義:notepad.ui,當(dāng)您打開記事本,UI文件在Qt Creator中,它會(huì)自動(dòng)在集成的Qt Designer中打開。
當(dāng)您構(gòu)建應(yīng)用程序時(shí),Qt Creator啟動(dòng)Qt用戶界面編譯器(uic),它讀取.ui文件并創(chuàng)建相應(yīng)的C++頭文件ui_notepad.h。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)