Qt 6.4:C++ 框架、IDE 與描述性語言三件事
摘要
Qt 是跨平台的 C++ 框架,能寫圖形介面也能寫非圖形程式,搭配 Qt Creator 這套輕量 IDE 與 QML 描述性語言,桌面、行動與伺服器端都用得上。
推薦- 軟體名稱
- Qt
- 版本
- 6.4
- 收費
- 付費
- 開源
- 開源
- 更新時間
- 2026-10-06 05:19
同一個名字底下的三件事
Qt 常被當成一個產品在講,其實它是三件:一套用來寫應用程式的 C++ 框架、一個叫 Qt Creator 的整合開發環境,以及一種叫 QML 的描述性語言 —— 它描述介面,而不是把介面寫成指令。這裡寫的版本是 6.4。
這套框架始於 1991 年,在 Qt Company 誕生,而它圍繞著一個至今仍然影響它的決定:寫一次,平台之間的差異交給框架在下面處理。這就是為什麼同一份原始碼可以在幾種桌面系統上生出視窗,而不必為每一種各寫一條路徑。

是圖形工具組,也不只是圖形工具組
最明顯的用途是圖形程式:視窗、控制項、對話框、選單列。比較不明顯的是,同一套框架也能寫完全沒有介面的程式 —— 命令列工具、服務、伺服器端軟體。一個已經熟悉這套框架的團隊,在下一件要寫的東西其實是個常駐服務、而不是一個有視窗的應用時,不必換習慣、不必換建置檔,也不必換錯誤處理的方式。
這個專案的歸屬換過兩次,而兩次都是它歷史的一部分,不是八卦:2008 年由諾基亞收購,2012 年轉到芬蘭的 Digia 手上。一套走過二十年的工具組能夠穿過這兩次轉手還留著,是比較相關的事實。
伴隨那次收購出現的 IDE
Qt Creator 是在諾基亞時期之後出現的:一個給 Qt 用的跨平台環境,當時被形容為輕量,相對於那些期待擁有整個專案的重量級環境。它跑在 Linux、Mac OS 與 Windows 上,而且不只針對一種目標 —— 桌面軟體,以及從同一個專案產出的 Android 與蘋果平台應用。

QML:把介面描述出來
QML 是一種描述性腳本語言,檔案以 .qml 結尾。描述性的意思是:檔案說的是「這個介面是什麼」—— 這裡一個矩形、那裡一列項目、這個值改變時做一次轉場 —— 而不是發出把它蓋起來的那些指令。語法刻意做得像 CSS,於是排版那一段,寫網頁的人讀起來也不吃力,不必先是寫桌面程式的人。
QML 也接受 JavaScript,行為就是這樣掛到描述上去的。跑它的引擎依賴 Google V8:一個用 C++ 寫成的開源 JavaScript 引擎,用在 Node.js、Chrome 與 Chromium 裡。JavaScript 引擎是一個專門執行 JavaScript 的虛擬機,通常隨瀏覽器一起附上;而 V8 也可以脫離瀏覽器獨立運行 —— 這正是同一種語言能用在桌面上的原因。

授權,一句話講完
這套框架是公開開發的,以開源授權提供,同時並存一種商業授權,給「開源條款不合用」的情況 —— 這也是它被描述成「開源,但不只是免費」的原因。對一個打算把自己的原始碼閉起來的專案來說,這個區別是最該先確認、也最常被留到最後才想起要確認的一件事。
它適合哪裡
老實說,Qt 適合那種「必須在幾個平台上長得一樣、而且要活很多年」的軟體,也適合由讀得懂 C++ 的人長期維護。它不是通往一支小工具的最短路徑,而且第一次碰到它的建置系統時,不會覺得輕。它換給你的,是一套老到撐過自己被收購的框架、一個為它而寫的 IDE,以及一種連設計師都讀得懂的介面描述方式。