2011-12-24 128 views
47

我是Qt新手,不太瞭解Qt Quick項目和Qt Widget項目之間的區別。Qt Quick與Qt Widget

我希望能夠創建一個程序,繪製一個六邊形的網格,用戶可以旋轉和剪切,以及平移和放大和縮小。它最終將成爲一個MIDI控制器。哪種類型的項目會更好,爲什麼?

我希望這可以在桌面和移動平臺上工作。

+1

在[Qt Quick](http://qt.nokia.com/qtquick/)網站上花費一點時間並查看示例。如果這就是你需要的,使用它。如果沒有,獲得正常的Qt widget項目,但移動平臺可能會成爲一個問題。 – Mat 2011-12-24 20:01:47

回答

28

Qt Quick是一種聲明式智能手機風格的用戶界面,支持智能手機應用中常見的很多酷炫動畫轉換。 Quick也是快速開發原型的不錯選擇。 Qt Widget是傳統的面向桌面的UI模型。

現在(Qt5之前),對桌面系統功能的Qt Quick支持缺乏(但有所改進)。 Quick對菜單,工具欄,對話框和其他標準桌面行爲的支持並不多,而Widget則非常好地支持這些元素。

您是否希望自己的應用在桌面平板電腦和平板電腦平臺上具有原生的外觀,或者您是否在自己的自定義UI小部件上構建了一個簡單的應用?正如Mat所說,如果Qt Quick支持你想要的功能,那可能是你最快的方法。如果你想構建全功能的桌面版本,Qt Widget可能是你最好的選擇。

+0

我喜歡這兩個。 :)現在使用Qt Widget。 – Anthony 2012-02-02 02:48:52

+0

這個答案應該被刪除,編輯或downvoted,因爲我們現在在Qt 5.0後,我們甚至接近6.0,Qt Widgets被QML Widgets取代。 – 2018-02-05 20:55:27

+0

答案或問題?好像你在說這個問題不再相關。 – AndrewS 2018-02-08 16:49:37

4

Qt Quick默認爲啓用內聯ECMAscript的QML,JSON聲明性方言。使用Qt小部件,樣式表可以由設計人員製作,開發人員可以進行本機C++編碼。

QML在運行時處理。在框架內,所有事情都可以一起運行,差異只是爲軟件架構師的決策增加了靈活性。

2

首先,我認爲你應該從Widget開始。 Widget UI可以幫助您輕鬆學習qt,此外,如果您以前的經驗是關於前端的東西,您可以輕鬆學習。

19

作爲一個專業開發qt應用程序的人,我會在任何一天選擇qml over widgets。

小工具對於非常基本的東西來說很好,但是我一旦需要創建更有趣的東西,小工具就會很快失效。

Qml更加靈活方便,您可以將項目錨定到任意位置,而無需使用有限的小部件佈局系統。當小部件充滿這些缺陷時,幾乎沒有平臺依賴性缺陷。而屬性綁定系統讓你的UI與你的模型保持同步非常容易。

+2

謝謝!我只是決定從QML/QtQuick開始,基於你的答案中陳述的專業背景。只要意識到我可以很容易地使用QtCreator中的* .ui.qml,並直接在PyQt中使用它。解決了我的Python + QtQuick的初始設置! – swdev 2016-01-27 17:23:26