Qt GUI

此範例說明如何繫結 Qt 圖形用戶介面 (GUI) 與 KINGSTAR Win32 方法,因此範例主要著重於 Qt GUI 與 KINGSTAR 函式的連接,因此僅展示基本的功能。

前置需求

在編譯 Qt 範例前必須先完成下列步驟:

  1. 分配寫入權限至 Qt 範例檔案夾
  2. 安裝 Qt
  3. 安裝 Qt Visual Studio Tools
  4. 在 Visual Studio 中開啟 Qt KINGSTAR範例
  5. 配置 Qt VS Tools

編譯及執行範例程式

範例檔案位於 C:\Users\Public\Public Documents\IntervalZero\KINGSTAR SDK\<Version Number>\Samples\GUI\QtGUI,編譯 QtGUI.sln

注意:檔案總管 (File Explorer) 有兩個路徑:階層路徑 (hierarchy) 與完整路徑 (full path)。階層路徑顯示在地址欄中;完整路徑顯示在檔案總管上方。右鍵點擊 QtGUI.sln 後點選 Properties,將可看見位置 (Location)C:\Users\Public\Documents\IntervalZero\KINGSTAR SDK\<Version Number>\Samples\GUI\QtGUI,此即為完整路徑;而注意階層路徑為 Public Documents。若使用非英文的 Windows 系統,而需要複製貼上路徑至地址欄中以加快查找範例速度,則請務必使用完整路徑;若想要透過點擊瀏覽範例檔案夾,則請使用階層路徑。英文版 Windows 之檔案夾將自動重新導向,因此就算貼上階層路徑,檔案總管亦可引導至範例程式。

輸出

下圖為範例程式的輸出:

原始碼

此範例為使用 Visual Studio 2019 中的 C++ 與 Qt Framework 5.12.9 所開發之 Qt 應用程式,開發應用程式時,只要此應用程式為 64 位元,即可自行選擇開發環境,因控制即時子系統需使用 64 位元。

主要原始碼包含在以下檔案:

看代碼時從 QtGui.cpp 開始,當代碼指向 KINGSTAR 函式時,看 ksworker.hksworker.cpp

連接 Win32 函式至 Qt GUI

開始寫代碼時需已建立 Qt GUI,GUI 的配置可依照需要客製化,在此範例中僅用了基礎的元件來說明如何連接 Win32 函式至 GUI。

Qt GUI 的運作方始與其他 GUI 範例不同,Qt 使用信號和位置 (slot) 來定義 GUI 元素和函式之間的交互方式,信號為 GUI 元素的行為;而位置為當信號觸發時呼叫的函式, connect 函式連接信號與位置,在 QtGui.cpp 中將看到各個 GUI 元素的描述如下:

QObject::connect(ui->btnConnect, &QPushButton::clicked, this, &QtGui::btnConnectClicked);

在以上範例中,鈕的名稱為 btnConnect,並帶有信號 clicked,當觸發 clicked 將呼叫位置 btnConnectClicked,而 Qt 程式 this 將接收並處理信號。

元件

此章節介紹以下元件: