本文讲述的内容是在Qt开发应用的多视图架构,图文并茂,对于架构,是一直让本人很苦恼的一件事,不过本文还好,希望这篇文章能帮你解决问题,先看文章吧!
QT 功能强大,使用广泛,开发时也灵活多样,方便的同时也提供了烦恼,同样的功能,可以用多种方式来解决,没有统一的方式。在这里提供一个多视图应用的参考,抛砖引玉 。
在S60 的multiview多视图架构中,主要分成三部分:
1. 内容显示与按键处理,通过派生自CCoeControl 的 container实现
2. 相应当前视图的菜单命令、视图切换,由CAknView的派生类 view完成
3. 系统自己管理 view类列表其中后两项主要负责控制,第一项是功能实现,这样实现的一个好处就是视图切换后,前面的container会删除,释放内存, 而view类相对占用内存较少,对手机这样的内存有限的系统来说,这样的设计还是比较合适的
在QT中,我们也需要匹配项:列表用QStackedWidget管理;无view类对应项,用QWidget代替,处理菜单和视图激活撤销;显示同样还是用QWidget。
OK, 看类图 。
列表管理
命令处理,视图切换
功能显示
相互之间的关系
小结:关于Qt开发应用的多视图架构的内容,就介绍到这里。希望本文能帮你解决架构问题,因为架构也是本人头疼的问题。