iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
Software Development

Qt 6 跨平台應用程式開發系列 第 4

D04: 第一支 Qt 6 程式

  • 分享至 

  • xImage
  •  

D04: 第一支 Qt 6 程式

我們從一個極簡 Qt 專案開始,這個專案只會有兩個檔案:一個Qt專案檔和一個CPP檔。

本系列的前幾天,我們都會保持這種只有單一檔案的形式,簡單好上手。

從 Qt 專案檔開始。

請打開您愛用的純文字編輯器(我用台灣之光 Notepad++),新開一個檔案名為 hello-qt.pro,然後輸入以下內容:

# 這是 hello-qt.pro 的內容
QT += core gui widgets  # 引入 Qt 模組
TEMPLATE = app          # 這是一支應用程式 (app)
TARGET = HelloQt        # 執行檔名稱
SOURCES = hello_qt.cpp  # 這支專案有一個 CPP

Qt專案檔的副檔名是.pro,它用於組織整個Qt專案,包含原始碼,進行編譯器各種設定等等。

在這裡,我們只寫了四行必要的設定:

  • QT += core gui widgets: 引入Qt模組。包含核心以及圖形化程式模組。
  • TEMPLATE = app: 指明這是一支應用程式 (如果是函式庫就是 TEMPLATE = lib)。
  • TARGET = HelloQt: 執行檔的名稱。比如 Win 平台編譯後就會產生 HelloQt.exe
  • SOURCES = hello_qt.cpp: 指定專案中包含哪些原始碼檔案。由於今天只有一個cpp檔,所以只有一行。

接下來,來寫C++程式碼。請新開一個檔案名為hello_qt.cpp,輸入以下內容,並將其放在與專案文件相同的目錄中。

// 這是 hello_qt.cpp 
#include <QApplication>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    w.show();
    return a.exec();
}

編譯程式

這時候請打開 Qt Creator。從選單列 File -> Open File or Project -> 選擇你剛剛建立的專案檔 hello-qt.pro

然後選擇 Qt 版本並點擊 Congifure Projects。按左下角的「綠色箭頭」編譯專案並執行。

順利的話,你應該會看到我們用短短的幾行程式,就建立了一個空白的 Qt 視窗。

所以這個 CPP 到底做了什麼呢?我們來仔細看看。

每支 Qt GUI 程式都會有一個 (也是唯一一個) QApplication 物件,負責整個整個應用程式的初始化和生命流程管理。我們自己的程式碼,就寫在 QApplication a(argc, argv);a.exec() 兩個語句之間。

QApplication a(argc, argv);
// Do your thing
return a.exec();

程式碼中,我們創建了一個 QWidget 物件。QWidget 是 Qt 圖形介面裡的基本視窗單位。從剛剛運行的程式,你應該可以看到它就是個空白視窗。以後我們有很多機會用到各種 QWidget 的變種,像是按鈕、文字框、下拉選單等等,它們都繼承自 QWidget 物件。

QWidget w;
w.show();

通過呼叫一個簡單的 w.show() 函式,顯示這個空白視窗。恭喜你,完成了第一支 Qt 程式。

附帶一題,本系列都可以在我的 Github 找到完整程式碼。


上一篇
D03: 安裝 Qt 6 開發環境
下一篇
D05: Qt 排版系統
系列文
Qt 6 跨平台應用程式開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言