本質上,Qt 是一個C++類庫。在引入 QML 以前,所有的開發都是基於 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成為了 Qt 的核心之一,導致很多初學者在猶豫是否還需要學習 C++。
使用 QML 開發界面主要有以下幾個優點:
- QML 非常靈活,可以做出非常炫酷的效果,例如 QQ、360、迅雷等都不在話下。
- QML 是標記語言,見名知意,非常容易編寫和閱讀,大大提高了開發和維護效率。
- QML 界面簡潔大氣,有很多動畫,適合移動端。
- 不同平台下的 QML 使用相同的渲染機制,界面效果一致,不會隨操作系統的不同而變化。
傳統的以C++為基礎的 Qt Widgets 項目中,控件的樣式和行為比較固定,不適合智能手機、平板等那種富含動畫效果的界面。有理由相信,在可見的將來會有越來越多的程序使用這種全新的開發模式。
但是,現階段新生的 QML 和 Qt Quick 還不如 Qt Widgets 那樣擁有豐富的開發組件,尤其缺乏復雜的企業級應用程序所必須的樹等控件。這就決定了至少現階段,真正大型的桌面程序仍然只能選擇以 Qt Widgets 為主、QML 和 Qt Quick 為輔的開發模式。
並且,使用 QML 會增加你的學習成本,你不但要習慣 QML 這種標記性語言,還要學習 JavaScript,甚至 CSS。
C++依舊是 Qt 的主要編程語言,Qt 5 也並沒有忽略它,Qt 5 添加了很多新的 C++ API,而且會持續更新。
引入 QML 和 Qt Quick,只是 Qt 5 提供的另外一種選擇,並不是讓它成為唯一的選擇。
C++ 是 Qt 的基礎,無論如何都要掌握。
http://blog.csdn.net/rl529014/article/details/51378734