2014-01-22 39 views
18

我心中有一個項目,並希望把它和選擇QT作爲開始與最佳框架。我一直在想如何開始並安裝Qt包(SDK和Qt Creator)。問題是 - 我無法弄清Qt Quick和Qt Widgets的確切用例。我計劃讓與這些特性的長期目的的項目:從Qt Framework開始時,應該選擇什麼 - Widgets或QT Quick?

  • 這將是一個桌面只 GUI應用程序。如果我想製作移動版本,那麼我會爲原生或HTML5的移動平臺而不是Qt。因此,與任何移動平臺的代碼庫兼容性都不是我關心的問題。
    • 觸摸UI和動畫也不是功能集的一部分。然而,下來創建圖形的線支撐將是巨大的(我可以隨時使用QtWebKit的和JS創建一些雖然)
  • 的Windows是首要目標。 Linux和Mac可能不會被目標用戶使用。
  • 它需要是自我升級 - 現在這是不是很多的關注做出選擇,但如果有任何問題,一些知識會幫助我。我不介意一個完整的應用程序安裝程序下載,但獨立更新模塊會更好一點
  • 它將需要與Web服務器對話獲取和上傳數據(我認爲HTTP將是Qt核心的工作,但我不對Qt有很多瞭解)。
  • 該應用程序將需要表與內聯編輯,小畫廊,菜單,多部分的窗戶,拖N - 拖放支持等我找不到任何關於有關Qt Quick的雖然菜單什麼。

考慮到用例,什麼會是更好的選擇 - Qt Widgets還是Qt Quick?

一些關於我和我爲什麼選擇Qt的 - 因爲我已經近2年已經出由C++觸摸和Qt中還沒有做出任何嚴重,但Qt是在Java的一個更好的選擇(我不喜歡許多)。再一次,我缺乏Python的經驗。除此之外Python的UI很爛,如果我必須安裝Qt框架有一個良好的用戶界面,爲什麼不把Qt中整個事情反正(考慮我還好用C++)。所以Qt是我的首選。由於該項目需要跨平臺兼容,Qt對我的眼睛更具吸引力。

+2

如果你想有一個經典的桌面主題UI,我會去的窗口小部件,現在。QtQuick控件正在向桌面用戶界面方向發展,但直到便利性和功能集與小部件相匹配之前,這需要一段時間。不過,看看QtQuick以及C++如何與QML進行交互。如果您將所有業務邏輯保留在C++中,並使QtQuick成爲一個精簡的UI層,那麼它將提供乾淨的核心/用戶界面分離,如果您將小部件用戶界面放在覈心之上,這也是很好的做法。選擇稍後切換到QtQuick。 –

+0

@FrankOsterfeld我是一名PHP開發人員,有時需要處理「主題」。所以,是的,我掌握了在C++中擁有邏輯的邏輯,並使UI成爲一個薄層。但是我是一個正在爲這個項目工作的單身人士,我認爲未來一年(或一對夫婦)我不會爲這個項目僱傭任何人。因此,代碼庫和開發就在我身上。我不想用不穩定,無能力或不推薦的東西去。我不知道他們是否會退出Widget而選擇Quick,因爲Widgets的開發很少。 –

+2

@VaibhavKaushal,不要害怕Widgets將來會被棄用。太多的軟件依賴於小部件,包括整個KDE桌面環境。一位主要開發人員表示,在一個Qt Developer Days談話中,兩個框架都是作爲替代品開發的,因爲用例不同。你需要例如Qt Quick的3D加速,這使得它在虛擬機中的使用幾乎不可能。需要考慮的另一點是,您將QML明文發送給可用於克隆軟件的用戶。 –

回答

13

QML將提供以簡單的方式定製部件更多的支持,小工具爲您提供了一套準備去的工具,讓你在一個非常簡單的方法的平臺風格的控制。兩者都有它們的優點,都有它們的缺點,我個人建議先開始使用Widgets,因爲它們有更多的歷史文檔,所以如果你需要研究一些東西,你會有更大的基礎。

從您的評論以上,還有的是在小工具小發展爲Qt的開發團隊認爲,他們不需要任何額外的工作,在這個階段。他們是穩定的,牢固可靠,沒有太多需要做才能得到改善,當人們需要定製的部件,他們最終創造他們自己。

+0

好的。感謝您的回答。那麼Qt Widgets會讓我擁有我提到的所有UI控件嗎? (這也許是我腦海中剩下的最後一個問題)。 –

+0

是的,你可能需要調整以獲得你需要的結果,但這並不困難。 –