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