Qt 框架的主要用戶界麵技術是 Qt Quick and Qt Widgets 。Qt Quick 界麵是流暢的、動態的、且最適閤觸摸界麵。Qt Widgets 用於創建復雜桌麵應用程序。可以創建具有目標平颱本機外觀和感覺的 Qt Quick 和 Qt Widgets 界麵。
Qt Quick 用於創建動態且流暢的 UI (用戶界麵)。 Qt Quick Controls 模塊提供 QML 類型 (譬如:按鈕、對話框及菜單)。可以使用 QML 聲明性語言,構建 UI 和以 JavaScript 實現邏輯。
下錶包含相關概述:
Qt Widgets 是桌麵環境中的典型 UI (用戶界麵) 元素。Qt Widgets 已很好地集成到瞭底層平颱,可在 Windows、Linux 和 macOS 提供本機外觀和感覺。Qt Widgets 很成熟且擁有豐富的用戶界麵元素,適閤大多數傳統用戶界麵。相比 Qt Quick ,Qt Widgets 用於創建大型桌麵應用程序,且不太適閤創建具有流體界麵,以觸摸為中心的應用程序。
以下列錶包含 Qt Widgets 的相關概述:
下錶比較 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 (用戶界麵) 的更多有關信息: