Qt開發之多視圖架構
本文講述的內容是在Qt開發應用的多視圖架構,圖文并茂,對于架構,是一直讓本人很苦惱的一件事,不過本文還好,希望這篇文章能幫你解決問題,先看文章吧!
QT 功能強大,使用廣泛,開發時也靈活多樣,方便的同時也提供了煩惱,同樣的功能,可以用多種方式來解決,沒有統一的方式。在這里提供一個多視圖應用的參考,拋磚引玉 。
在S60 的multiview多視圖架構中,主要分成三部分:
1. 內容顯示與按鍵處理,通過派生自CCoeControl 的 container實現
2. 相應當前視圖的菜單命令、視圖切換,由CAknView的派生類 view完成
3. 系統自己管理 view類列表其中后兩項主要負責控制,第一項是功能實現,這樣實現的一個好處就是視圖切換后,前面的container會刪除,釋放內存, 而view類相對占用內存較少,對手機這樣的內存有限的系統來說,這樣的設計還是比較合適的
在QT中,我們也需要匹配項:列表用QStackedWidget管理;無view類對應項,用QWidget代替,處理菜單和視圖激活撤銷;顯示同樣還是用QWidget。
OK, 看類圖 。
列表管理
命令處理,視圖切換
功能顯示
相互之間的關系
小結:關于Qt開發應用的多視圖架構的內容,就介紹到這里。希望本文能幫你解決架構問題,因為架構也是本人頭疼的問題。