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