1. 程式人生 > >在Qt中使用C++程式碼建立介面

在Qt中使用C++程式碼建立介面

Qt 支援兩種建立介面的方式:

  • 一種是使用C++程式碼,Qt 自誕生以來就支援;

  • 一種是使用 QML,可以建立個性化的介面

Qt 提供了多種工程型別,選擇不同的工程型別將導致使用不同的方式來建立介面。

首次開啟Qt,會出現歡迎介面,點選New Project按鈕,或者在選單欄點選檔案,然後選擇新建檔案或專案,

都會彈出嚮導對話方塊,如下圖所示:(不同的Qt編譯器版本,介面可能會有所差別


Qt Widgets Application和Qt Console Application工程將會使用C++程式碼,Console 用來建立控制檯程式,Widgets 用來建立GUI程式。


Qt Quick Application

Qt Quick Controls ApplicationQt Canvas 3D Application工程將會使用 QML 程式碼,

Quick Control 主要比 Quick 多一些控制元件,Canvas 3D 用來建立3D動畫。


選擇Qt Widgets Application,點選Choose...按鈕,彈出如下對話方塊:


填寫好專案名稱和儲存路徑,點選下一步按鈕,彈出工具選擇對話方塊:


選中Select all kits即可。這裡我使用的是 VS2010 版的Qt,你也可以使用其他編譯器。點選下一步按鈕:


填寫專案中要使用到的類的資訊。簡單起見,取消“建立介面”選項。單擊下一步按鈕,彈出“專案管理”對話方塊,點選完成按鈕,完成專案的建立。



可以看到,IDE自動生成了四個檔案:

  • WidgetsDemo.pro :為工程檔案,它是 qmake 產生的用於生成 makefile 的配置檔案,它的名稱和專案名稱是一樣的。

  • main.cpp :是主檔案,裡面就是一個 main() 函式,程式從該檔案開始執行。

  • mainwindow.h : MainWindow 類的標頭檔案

  • mainwindow.cpp:MainWindow 類的原始檔。

  • MainWindow: 是我們在建立專案時指定的名字。



整個專案的示意圖如下:


現在點選執行(Run)按鈕,或者按下Ctrl+R快捷鍵,就可以看到編譯結果,如下圖所示:


這是一個最簡單的 Qt Widget 程式。

顯示“Hello World”:

接下來,我們讓程式顯示"Hello World!"。開啟 mainwindow.cpp,在建構函式 MainWindow() 中新增如下程式碼:

//設定標題
this->setWindowTitle(tr("Widgets演示"));
//設定客戶區大小
this->resize(300, 120);
//設定背景顏色
QPalette palette = this->palette();  //獲取調色盤
palette.setColor(QPalette::Window, QColor(255, 255, 255));  //設定為白色
this->setPalette(palette);  //重新設定調色盤
//新增QLabel控制元件
QLabel *label = new QLabel(this);  //建立QLabel控制元件
setCentralWidget(label);  //將當前控制元件至於中央
label->setText(tr("Hello World!"));  //設定控制元件文字
label->setAlignment(Qt::AlignCenter);  //文字水平和垂直都居中
執行結果為:


也可以在設定文字時使用簡單的HTML。將上面第 13 行程式碼改為:
label->setText(tr("<font color='red' face='微軟雅黑' size='6'>Hello World!</font>"));


執行結果為: