Qt中的使用者介面
Qt可以使用多種技術來建立使用者介面。我們也可以根據需要混合使用不同的技術,在一些特定的情境下一些技術就會比其他的技術更適合,所有方法各有所長。QrCreator就是混合使用多種技術的一個樣本。實際上,它使用了傳統的QtWidgets,例如菜單和對話方塊等;QtQuick則作為歡迎介面,QtWebKit則用於呈現Qt相關的文檔。下面的內容將簡要介紹這幾種用於建立使用者介面的技術,最後給出了一個對比表便於選擇合適的技術。
【QtQuick】
QtQuick提供了所有用於建立應用程式流程暢和動態介面的任何事物。它允許根據使用者介面組件的行為和組件之間的聯絡來建立使用者介面,並且它還提供一個帶有自己座標系統的可視化的畫布和渲染引擎。動畫和過渡效果是QtQuick中第一個類概念,我們可以通過特殊的用於粒子系統和著色的組件實現可視化的效果。QtQuick元素都是用於建立使用者介面的構建塊,而QtWidgets則更多使用標準的視窗組件。
『Qt Quick中的重要概念』
*可視化的畫布
*使用者輸入
*定位
*狀態,過渡以及動畫
*資料-模型,視圖和資料存放區
*粒子系統和圖形映像效果
*便利的類型
*國際化和本地化
【QtWidgets】
QtWidgets是傳統的使用者介面元素,更多的用於案頭環境。視窗組件更好的整合到使用的平台中,在Windows,Linux和MacOSX上提供原生的顯示。視窗組件更多的用於靜態使用者介面。和QtQuick對比,視窗組件不能很好的適應觸控螢幕,以及動態使用者介面。視窗組件更多的適合傳統案頭的使用者介面,利於office類型的應用。
『Qt Widgets中的重要概念』
*應用程式主視窗
*案頭整合
*對話方塊視窗
*布局管理
*模型/視圖編程
*富文本處理
*拖拽操作
*國際化
【QtWebKit】
QtWebKit是一個web內容的渲染引擎,它基於開源的WebKit項目。QtWebKit模組提供了與上面兩種技術的結合,QtQuick
WebView組件和QtWebKit Widgets用於渲染並與web內容互動。
Qt Quick WebView和QtWebKit Widgets兩者最大的區別在於前者使用多進程的架構(WebKit2)和一個單獨的web渲染進程,而後者則使用但進程架構。
【對比】
我們可以根據需求的不同而選擇不同的使用者介面技術。下面是三種使用者介面技術的比較,主要是協助你作出合理的選擇。