- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于qt的电视机ui实现技术推荐
基于Qt技术的可移植UI设计
—— 基于Qt的电视机UI实现技术
1 UI软件架构
基于Qt来实现一套电视机用户界面(User Interface),首先需要选择一个软件框架,用于管理UI页面。
在Qt中,Main Window 为创建应用程序的UI提供了一个框架。QMainWindow类及其相关类共同完成Main Window中的页面管理。本项目选择了Qt的Main Window 框架作为实现电视机UI的软件架构。下面介绍一下Qt的Main Window 框架在实际项目中的应用。
1.1 Qt的Main Window 框架
Qt的Main Window 框架,以QMainWindow类作为程序主窗口。QMainWindow类拥有自己的布局,如图1-1-1
图1-1-1
根据电视机UI的特点,用户只能通过遥控器及本机按键来操作UI,因此只需要一个中心区域显示交互内容就足够了。对于QMainWindow布局中的Menu Bar、Toolbars、Dock Widgets、Status Bar这几个部分是我们所不需要的。我们只需要关注Central Widget即可。
QMainWindow的Central Widget可以是多种类型:
Qt提供的标准窗口部件,比如QWidget、QTextEdit等;
用户自定义的窗口部件;
布局管理器组织起来的多个widgets;
分裂器—QSplitter。QSplitter作为一个容器可以容纳多个窗口部件,此时中央部件是一个包容多个窗口部件的容器;
多文档区部件—QMdiArea。如果应用程序使用MDI,则Central Widget将被一个QMdiArea部件占据。每个MDI窗口都是这个QMdiArea部件的一个子部件。
应用程序选择哪种类型作为Central Widget,需要由具体需求决定。电视机UI通常具有主菜单、一级子菜单、二级子菜单、快捷菜单、信息提示菜单等多个菜单显示页面。本项目将每个菜单页面视作一个文档(Document),各级菜单之间的切换,采用多文档界面(Multiple Document Interface)模式进行管理,因此选择QMdiArea作为主窗口的Central Widget。通过调用QMainWindow的setCentralWidget()方法来设置Central Widget。
QMdiArea提供了一个管理/显示多文档界面的区域。它通常作为应用程序多文档界面主窗口的Central Widget,实现对子窗口的管理、绘制和排布。QMdiArea具有独特的多文档子窗口类QMdiSubWindow,它在多文档区部件内表现为一个顶层窗口,可以关闭、最小化和最大化,具有独立的窗口标题。QMdiSubWindow具有自己的布局管理器,该布局管理器管理窗口标题栏和放置窗口部件的中心区域。多文档子窗口QMdiSubWindow和多文档区部件QMdiArea共同实现应用程序的多文档功能。通常通过调用函数QMdiArea::addSubWindow()为一个多文档部件添加一个多文档窗口,并返回该多文档子窗口的指针。
总结:一个基于MDI的Qt Main Window 框架,由QMainWindow、QMdiArea、QMdiSubWindow三个核心类构成。其中,
QMainWindow类主要提供了一个应用程序的主窗口,在主窗口中提供了
Central Widget区域,用于页面管理。
QMdiArea类被设置成Central Widget,实行具体的子窗口管理任务;在QMdiArea中加入的每个子窗口都是QMdiSubWindow类或其派生类的对象;该类负责管理菜单页面的创建、销毁、显示、隐藏等等。需要注意的是,新菜单创建、老菜单销毁过程中,要防止内存泄露;此外,如何高效快速完成菜单间的切换是非常重要的。
QMdiSubWindow类是具体的每个子窗口,或者称为子菜单页面的基类;实际的电视机主菜单、图像子菜单、声音子菜单等等的实现,均由该类派生。
1.2 Qt
实际应用中,将根据具体的UI方案需求,以QMainWindow、QMdiArea、QMdiSubWindow三个类作为基类,派生出满足需求的类加以应用。
本项目中,由QMainWindow作为基类,派生出MainWindow类,除去基本的继承自QMainWindow的属性外,在MainWindow的构造函数中,加入了对主窗口几何位置、尺寸的设定;加入了主窗口背景属性的设定。最后将由QMdiArea类派生来的WindowHandler类的对象设置为Central Widget。
本项目中,由QMdiArea作为基类,派生出WindowHandler类,用以实现菜单页面的管理。Wind
您可能关注的文档
- 基于Android平台的旅游服务软件设计与实现推荐.doc
- 基于android平台的音乐播放器论文推荐.doc
- 基于Android手机内置GPS的地铁助手的设计与实现计算机软件专业推荐.doc
- 基于Android的时钟系统推荐.doc
- 基于Arduino无线温湿度测控系统设计毕业设计参考.docx
- 基于AT89C51单片机的作息时间控制器设计.doc
- 基于at89s52并行口的数字温度计的设计论文推荐.doc
- 基于at89s52电机转子故障检测的软件设计论文推荐.doc
- 基于at89s52的简易计算器设计论文推荐.doc
- 基于at89s52的篮球计时计分器论文推荐.doc
- 阳泉市矿区平潭街街道社区工作者考试试题含答案(研优卷).docx
- 邯郸市魏县张二庄镇社区工作者考试题目附答案(研优卷).docx
- 深圳市社区工作者考试题库(完整版).docx
- 2026年一级注册建筑师之建筑设计考试题库500道带答案(黄金题型).docx
- 邯郸市鸡泽县双塔镇社区工作者考试题目带答案(研优卷).docx
- 2026年演出经纪人之演出市场政策与法律法规考试题库200道含答案【满分必刷】.docx
- 2026四川泸州老窖股份有限公司招聘18人考前自测高频考点模拟试题(浓缩300题)最新.docx
- 2025年下半年浙江湖州市体育产业发展有限公司招聘6人笔试参考题库附答案.docx
- 2026四川成都广播影视集团有限责任公司招聘22人考前自测高频考点模拟试题(浓缩300题)新版.docx
- 2026年中级银行从业资格之中级个人贷款考试题库200道(各地真题).docx
原创力文档


文档评论(0)