用戶界麵

Qt 框架的主要用戶界麵技術是 Qt Quick and Qt Widgets 。Qt Quick 界麵是流暢的、動態的、且最適閤觸摸界麵。Qt Widgets 用於創建復雜桌麵應用程序。可以創建具有目標平颱本機外觀和感覺的 Qt Quick 和 Qt Widgets 界麵。

采用 Qt Quick 構建 UI

Qt Quick 用於創建動態且流暢的 UI (用戶界麵)。 Qt Quick Controls 模塊提供 QML 類型 (譬如:按鈕、對話框及菜單)。可以使用 QML 聲明性語言,構建 UI 和以 JavaScript 實現邏輯。

下錶包含相關概述:

Qt Widgets 用戶界麵

Qt Widgets 是桌麵環境中的典型 UI (用戶界麵) 元素。Qt Widgets 已很好地集成到瞭底層平颱,可在 Windows、Linux 和 macOS 提供本機外觀和感覺。Qt Widgets 很成熟且擁有豐富的用戶界麵元素,適閤大多數傳統用戶界麵。相比 Qt Quick ,Qt Widgets 用於創建大型桌麵應用程序,且不太適閤創建具有流體界麵,以觸摸為中心的應用程序。

以下列錶包含 Qt Widgets 的相關概述:

UI 界麵比較

下錶比較 Qt Widgets 和 Qt Quick 界麵。

Qt Quick / Qt Quick Controls Qt Widgets 注釋
使用語言 QML/JS C++
本機外觀和感覺 Qt Widgets 和 Qt Quick Controls 支持目標平颱的本機外觀和感覺。
自定義樣式 Qt Widgets 提供定製采用 樣式錶 而 Qt Quick Controls 擁有選定對於 可定製樣式 .
流暢動畫 UI Qt Widgets 無法很好地適應動畫伸縮。Qt Quick 提供瞭按聲明方式實現動畫的方便且自然方式。
觸摸屏 Qt Widgets 為良好交互經常要求鼠標光標,而 Qt Quick 為鼠標和觸摸交互兩者提供 QML 類型。
標準行業 Widget Qt Widgets 提供用於構建標準行業類型應用程序所需,經 20 多年發展的所有花哨功能。
模型/視圖編程 Qt Quick 提供方便視圖,但 Qt Widgets 提供更方便且完整的框架。除 Qt Quick 視圖外,Qt Quick Controls 還提供 TableView .
敏捷 UI 開發 Qt Quick 是敏捷 UI 原型設計和開發的絕佳抉擇。
HW (硬件) 加速圖形 Qt 為 Qt Quick 界麵提供完整硬件加速,而 Qt Widgets 界麵是在軟件中渲染。 圖形 概述有更多信息。
圖形效果 幾個 Qt Quick 模塊提供瞭圖形效果,而 Qt Widgets 接口可以使用 Qt GUI 對於效果。
富文本處理 目前,Qt Widgets 為實現文本編輯器提供最綜閤基。Qt 的富文本文檔類還可以用於 Qt Quick 和 Qt Quick Controls 的 TextArea ,但可能要求一些 C++ 實現。

注意: 可以在 Qt Widgets UI 中顯示 QML 視圖。更多信息,見 Qt Quick Widgets .

下列頁麵包含設計和開發 UI (用戶界麵) 的更多有關信息: