2013-03-04 193 views
3

我是一個iOS/Cocoa開發人員,希望將我的一個應用程序移植到PC平臺。我不在乎編碼多平臺和維護一個應用程序。我將繼續在iOS Mac開發中使用可可和可可觸摸。 我選擇使用QT 5作爲個人電腦,我不確定它的明智選擇,但它很容易,我可以理解C++。如果不是,請將我指向正確的方向。Qt 5關於QT/QML和Widget定製的一般問題

我的應用程序不是非常複雜,但需要一些特殊的定製,例如看起來像iOS桌面視圖的ListView,使用自定義圓角窗口和twitter引導樣式搜索框,我想監視一些全局操作系統事件,如擊鍵,以及用戶當前正在處理的其他應用程序。我也使用SQLite和AES加密。

我的問題是關於UI定製。

  1. 我應該開始學習和使用QML嗎?我不確定它到底是什麼,看起來非常簡單的CSS,但我的感覺是更多的設計用於嵌入式設備和有限制...

  2. 如果我使用QT的全部權力QML?

  3. 我還有什麼別的選擇自定義,而不是使用QML插件(例如在Objective C中,我們使用子類和繪畫隨心所欲或處理事件...)

  4. 我在Windows平臺上缺乏經驗。我應該使用VisualStudio C++而不是QT5嗎?隨着所有權的變化,我覺得不安全。

+0

你應該嘗試將這些問題作爲單獨的問題提出。在單個帖子中提出多個問題令人不悅。也許除了問題#4,這是一個很好的問題,這是值得商榷的。 – cgmb 2013-03-05 03:49:59

+0

順便說一句,Qt Quick(QML)很棒,但對桌面應用程序的支持還不成熟。 Qt Widgets將提供你想要的東西,我想你會發現它們更容易學習。至少現在,至少。 Qt Quick正在迅速改進。 – cgmb 2013-03-05 03:56:32

+0

感謝您的評論。我的所有問題(除了一般的4之外)都是用來實現Widget Customization的。我不知道爲什麼我需要針對同一主題提出不同的問題。 – Nimrod7 2013-03-05 07:38:08

回答

6
  1. 是的,你應該。 QML是聲明性語言,它允許在其中執行JavaScript。而且你幾乎可以做任何與QML相關的UI。如果你沒有一些特定的UI元素,你可以用普通的C++(Qt)來繪製它,並在QML中使用它。所以QML是目前Qt開發的最佳選擇。它不像CSS,它更強大。
  2. 是的,您擁有Qt擁有的所有能力以及聲明性語言可能提供的附加功能 - 簡化UI開發過程以及邏輯的現代分解。
  3. 你可以在普通的C++ Qt中使用這個選項,你可以子類化widget,重畫它們,改變行爲等。這種方法不如QML。
  4. 這一點沒有意義。有些人將Visual C++視爲單獨的語言,這是錯誤的。您可以將Visual C++計算爲C++ + MS編譯器的一些小擴展。但是把它稱爲GCC C++是很荒謬的。所以基本上,如果您使用可免費獲得的Qt集成插件,幾乎可以毫不費力地使用Visual Studio。或者你可以選擇Qt創建者,有些人認爲它優於MSVS。這取決於你選擇什麼,但我相信對於新手來說,使用Qt創建器與Qt相比要簡單得多。但是請注意,你需要有一些編譯器,因爲Qt創建者只是一個IDE,它應該使用一些第三方編譯器(無論是MS還是GNU)編譯器
+1

我不確定第2點的真實性。3. – UmNyobe 2013-03-05 09:56:02

+0

@UmNyobe,你能闡述一下你的意見嗎? – ixSci 2013-03-05 09:57:14

+0

http://qt-project.org/forums/viewthread/21729 – UmNyobe 2013-03-05 10:17:23