电视机及其用户界面框架的实现方法

文档序号:6430369阅读:220来源:国知局
专利名称:电视机及其用户界面框架的实现方法
技术领域
本发明涉及一种电视机中的用户界面框架,尤其是涉及一种在电视机中的基于QT 开发平台实现用户界面框架的方法,以及使用该方法的电视机。
背景技术
在电视行业飞速发展的今天,电视机已经不仅仅是用来只收看电视节目的终端, 而是被定义成家庭娱乐中心的载体。因此,当今的电视机功能也成为了各个电视机厂商的各种卖点。比如说网络看电影、模拟游戏平台、3D动感游戏、网络互动应用等等。这对于用户来说是一种很好的体验,也是生活质量提升的体现,但是对于电视机系统的设计而言,这将是一个不小的挑战,因为功能越多,各种功能需要实现用户界面也就越复杂,问题的出现也就越频繁。传统的电视机的用户界面(UI)框架基本都是由各个方案公司针对平台本身而设计的UI框架。这样,对于某一平台上的某个模块功能移植到另一平台,往往需要花费大量的时间和精力。

发明内容
本发明提出一种电视机及其用户界面框架的实现方法,以解决目前电视机中用户界面结构复杂、难于移植的技术问题。本发明采用如下技术方案实现一种电视机用户界面框架的实现方法,其特包括步骤
创建一个基于QT开发平台应用程序的UI封装类;
在UI封装类中创建一个用于管理各级屏的屏处理类,屏处理类通过安全标识符注册各级屏的ID,建立SID对应表使各级屏分别与一个ID建立对应关系,并注册2个槽用于分别侦听遥控器消息和系统消息;
在屏处理类中创建一个是各级屏直接或者间接父窗口的基窗口,根据各级屏之间的继承关系进行切屏控制。在一个优选实施例中,所述电视机用户界面的实现方法还包括步骤 新建并显示基窗口的主界面;
等待遥控器消息或系统消息,根据响应遥控器消息或系统消息启动切屏操作。在一个优选实施例中,在当前屏收到遥控器消息或系统消息需要进入下一级屏时,所述切屏操作的步骤包括
检验SID对应表中下一级屏的ID是否与下一级屏的窗口句柄对应; 运行当前屏的离开函数,隐藏当前屏;
以当前屏为父窗口构造一个子屏作为下一级屏的界面,并将当前屏的参数指派给下一级屏;
将构造的下一级屏作为新的当前屏激活并显示,且将接受到的遥控器消息或系统消息过滤送到新的当前屏进行处理。在一个优选实施例中,在当前屏收到遥控器消息或系统消息需要返回上一级屏时,所述切屏操作的步骤包括当前屏析构函数销毁自己,并调用返回函数返回到父窗口。在一个优选实施例中,在当前屏收到遥控器消息或系统消息跳转至非上一级屏或非下一级屏的目标屏时,所述切屏操作的步骤包括
检验SID对应表中目标屏的ID是否与目标屏的窗口句柄对应; 运行跳屏函数直到新的当前屏ID为目标屏的ID ; 由跳屏函数将当前屏的参数指派给新的当前屏; 显示并激活新的当前屏。在一个优选实施例中,在当前屏收到遥控器消息或系统消息需要返回基窗口时, 所述切屏操作的步骤包括删除到期所有的活动屏,并显示基窗口。其中,UI封装类是通过分别继承QT开发平台中的QMdiArea类和QMdiSubWindow 类来封装。其中,基窗口为一个大小于电视机显示屏一致的黑屏。与现有技术相比,本发明具有如下有益效果
本发明解决目前电视机中跨平台实现用户界面(UI)移植困难的问题,提供一个通用的UI开发框架来完成各个功能模块的快速开发或移植工作,标准化了界面切换接口、简化了各界面之间的消息处理;在UI框架中封装了一个专门的屏处理类(Ck_scene类),统一对各级屏的构造、切换、消息处理等进行管理,带来更好、更快的切屏效果;且本发明提出的 UI结构简单,易于实现。


图1是本发明UI的框架示意图; 图2是本发明实现UI的流程示意图3是本发明UI中屏处理类控制切屏操作的示意图。
具体实施例方式本发明是一种由计算机程序来实现的技术方案,在Linux操作系统中基于QT开发平台(QT是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。QT是完全面向对象的,很容易扩展, 并且允许真正地组件编程)面向对象的C++类来构建电视机中可跨平台移植上的用户界面 (UI,User Interface),实现更佳的切屏控制。如图1所示,通过QT开发平台中的QMainWindows类来实现主窗口,由QT开发平台中的QMdiSubWindow类实现子窗口,主窗口与被子窗口裁减后的区域由QT开发平台中的 QMdiArea类实现。通过分别继承QT开发平台中的QMdiArea类和QMdiSubWindow类来封装 CSkyScreenHandler和CSkyScreen两个基本类。本发明设计的视窗MDI (Multiple Document Interface)可以支持多窗口系统,利用C^c_Scene类(屏处理类)来提供一个多窗口区域来管理QT开发平台的sub-window(子窗口),C^c_Scene类会管理图1中MainMenu等一系列子视窗(图1中仅列出少数一部分),并为每个这样的子视窗定义一个安全标识符(SID,Security Identifiers)来对应各个子视窗的窗口句柄(指针)。这些子视窗都继承自CSkykreen类,由它们的命名可以知道,又称这些子视窗为kreen (屏),而CSc_ Scene类拥有这些子视窗(Screen)并且管理这些子视窗的生死。各级屏(即子视窗)之间的切换最终都经由Ck_SCene类来完成,不仅如此, CSc_Scene类还管理着各级屏的创建和销毁。在CSc_kene类的构造函数里面,会利用 RegisterScreens ()把各级屏分别与一个ID建立SID对应表,方便用户利用ID来切换和搜索各级屏。结合图2所示,本发明在UI界面创建窗口框架的流程如下
Sl 在主入口(main)函数中新建一个UI封装类CSkyUi(是通过分别继承QT开发平台中的QMdiArea类和QMdiSubWindow类来封装),它是基于QT开发平台的应用程序的窗口框
^K OS2 在UI封装类中新建一个CSc_kene类容器实例,用它来管理各级子窗口(屏)。S3 在CScJcene类中通过安全标识符(SID)注册所有界面的屏(Screen),即在 CSc_Scene类的构造函数里面,会利用Registerkreens ()把各级屏分别与一个ID建立 SID对应表,方便用户利用ID来切换和搜索各级屏。S4 在CScjcene类中注册2个槽(Socket)来侦听遥控器消息和系统消息,并实现收到消息后的槽处理响应函数,最后建立信号和槽之间的连接。S5 最后在CScjcene类中创建一个基窗口(^c_BaSe,一般设置为电视屏幕尺寸的黑屏窗口,它是其他所有子窗口的直接或者间接父窗口,它一般情况下不会被销毁,除非在QT进程退出的时候才销毁。S6 判断电视机开机通道是否为与UI关联的通道(需要创建UI的通道),若是,则转入步骤S7,否则转入步骤S9。S7 自动在CSc_Base类的基础上新建CSc_MainMenu (主界面)。S8 显示开机动画界面,并等待遥控器消息或者系统消息。S9 显示Ck_Base基窗口的主界面(即黑屏),并等待遥控器消息或者系统消息。如图3所示,本发明在UI框架内封装了一个专门的屏处理类(Ck_SCene类),统一对屏构造、屏切换、消息处理等进行管理,带来更好更快的切屏效果。CSc_Scene类对各级屏最关键的操作是屏切换时的处理工作。当第一级屏界面需要收到遥控消息需要进入到第二级屏界面时,CSc_Scene类需要隐藏第一级屏并以第一级屏为父窗口构造一个子屏作为第二级屏界面;同时,将构造的第二级屏作为当前焦点屏(当前屏),并将接受到的遥控和系统消息过滤送到当前屏来处理。如果当前屏接受到返回命令,则调用析构函数销毁自己并返回到父窗口(第一级屏);如果当前屏接受到确定按键需要进入下一级屏窗口界面,则调用离开(leave)函数,隐藏自己到后台,并以自己为父窗口构造一个子窗口作为下一级屏界面。如果硬件支持,我们可以在离开和返回函数中加入动画特效,这样屏幕切换时会有更好的用户体验。本发明的技术关键点是框架中切换屏的处理流程,因为屏切换时需要处理好参数传递、屏分配与销毁、激活显示与隐藏、切换消息处理、过场动画、父子关系继承等问题,因此对屏切换流程的管理是一件很重要和复杂的事情。在进行屏切换时,尤其需要处理好参数传递、屏分配与销毁、激活显示与隐藏、切换消息处理、父子关系继承等问题。举例来进一步说明本发明是如何实现屏切换操作。假定一级界面为主界面 (Sc_MainMenu),二级界面为USB浏览窗口 6c_USBView),三级界面是电影播放界面(Sc_ MMPlayerView)。我们以此三级界面的四种屏切换操作来具体分析
一、切换到下一级屏例如,从当前的USB浏览窗口切换到电影播放界面,只需在CSc_ USBView 类中调用 SKY_NextScreen(SID_MediaPlayer, param)函数即可切换到。电影播放界面(Sc_MMPlayerView)是USB浏览窗口 6c_USBView)的子屏,电影播放界面作为父屏隐藏但不销毁。其中,SKY_NeXtkreen函数分5个步骤来实现首先,检查SID和新屏的窗口句柄是否对应;其次,运行当前屏的离开(leave)函数;再次,创建一个新屏(构造);然后,将参数 param指派给新屏;最后,显示并激活新屏k_MMPlayerView。二、返回到上一级屏例如从电影播放界面(Sc_MMPlayerVieW)返回到USB浏览窗口 (Sc_USBView)
在 C^c_MMPlayerView 类中调用 SKY_PrevScreen (param)函数即可返回到 k_USBView 父屏,子屏(即电影播放界面)销毁。SKY_Pre^creen函数分3个步骤来实现首先,关闭和删除当前屏(反构造);其次,将参数param指派给父屏的返回函数;显示并激活父屏(USB浏览窗口)。三、跳转到某一级屏例如,从Sc_MMPlayerView屏跳转到Sc_MainMenu屏 在 C^c_MMPlayerView 类中调用跳屏函数 SKY_GotoScreen(SID, param)即可跳转到 Sc_ USBView的父屏,自己(S卩Sc_MMPlayerView)和二级父窗口(S卩Sc_USBView)均被销毁。其中,跳屏函数SKY_G0tc^creen分4个步骤来实现首先,检查SID和新屏的窗口句柄是否对应;其次,运行跳屏函数SKY_PreWcreen (param),直到当前屏的ID=SID ;再次, 将参数param指派给要跳转屏的返回函数;最后,显示并激活父屏k_MainMenU。三、删除所有活动的屏例如,从k_MMPlayerView屏跳转到k_Base屏在CSc_ MMPlayerView类中调用SKYjnosekreens ()函数即删除到期所有的活动屏,所有活动屏均被销毁。其中,SKY_Cl0Sekreens函数分2个步骤来实现首先,直接调用SKY_ GotoScreen(SID_Base,0);其次,显示基窗口 Sc_Base。综上,本发明是解决目前电视机系统中UI功能模块在不同系统平台之间的移植困难问题。同传统的各方案公司UI框架相比,本发明基于QT开发平台完成的UI框架,在 UI功能模块跨平台移植上有明显的优势;同时,传统基于QT的应用程序一般采用简单的信号和槽来实现切换界面,效率比较低,消息或者参数传递不太方便,在本发明的UI框架内封装了一个专门的屏处理类(Ck_Scene类),统一对各级屏的构造、切换、消息处理等进行管理,带来更好、更快的切屏效果,尤其是在硬件可加速的情况下,可以在屏切换时增加动画过度画面,从而带来更好用户体验。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种电视机用户界面框架的实现方法,其特征在于,所述方法包括步骤创建一个基于QT开发平台应用程序的UI封装类;在UI封装类中创建一个用于管理各级屏的屏处理类,屏处理类通过安全标识符注册各级屏的ID,建立SID对应表使各级屏分别与一个ID建立对应关系,并注册2个槽用于分别侦听遥控器消息和系统消息;在屏处理类中创建一个是各级屏直接或者间接父窗口的基窗口,根据各级屏之间的继承关系进行切屏控制。
2.根据权利要求1所述电视机用户界面框架的实现方法,其特征在于,所述方法还包括步骤新建并显示基窗口的主界面;等待遥控器消息或系统消息,根据响应遥控器消息或系统消息启动切屏操作。
3.根据权利要求2所述电视机用户界面框架的实现方法,其特征在于,在当前屏收到遥控器消息或系统消息需要进入下一级屏时,所述切屏操作的步骤包括检验SID对应表中下一级屏的ID是否与下一级屏的窗口句柄对应;运行当前屏的离开函数,隐藏当前屏;以当前屏为父窗口构造一个子屏作为下一级屏的界面,并将当前屏的参数指派给下一级屏;将构造的下一级屏作为新的当前屏激活并显示,且将接受到的遥控器消息或系统消息过滤送到新的当前屏进行处理。
4.根据权利要求2所述电视机用户界面框架的实现方法,其特征在于,在当前屏收到遥控器消息或系统消息需要返回上一级屏时,所述切屏操作的步骤包括当前屏析构函数销毁自己,并调用返回函数返回到父窗口。
5.根据权利要求2所述电视机用户界面框架的实现方法,其特征在于,在当前屏收到遥控器消息或系统消息跳转至非上一级屏或非下一级屏的目标屏时,所述切屏操作的步骤包括检验SID对应表中目标屏的ID是否与目标屏的窗口句柄对应;运行跳屏函数直到新的当前屏ID为目标屏的ID ;由跳屏函数将当前屏的参数指派给新的当前屏;显示并激活新的当前屏。
6.根据权利要求5所述电视机用户界面框架的实现方法,其特征在于,在当前屏收到遥控器消息或系统消息需要返回基窗口时,所述切屏操作的步骤包括删除到期所有的活动屏,并显示基窗口。
7.根据权利要求1所述电视机用户界面框架的实现方法,其特征在于,UI封装类是通过分别继承QT开发平台中的QMdiArea类和QMdiSubWindow类来封装。
8.根据权利要求1所述电视机用户界面框架的实现方法,其特征在于,基窗口为一个大小于电视机显示屏一致的黑屏。
9.一种电视机,其特征在于,使用了如权利要求1-8任何一项所述电视机用户界面框架的实现方法。
全文摘要
本发明公开一种电视机及其用户界面框架的实现方法。其中。所述方法包括步骤创建一个基于QT开发平台应用程序的UI封装类;在UI封装类中创建一个用于管理各级屏的屏处理类,屏处理类通过安全标识符注册各级屏的ID,建立SID对应表使各级屏分别与一个ID建立对应关系,并注册2个槽用于分别侦听遥控器消息和系统消息;在屏处理类中创建一个是各级屏直接或者间接父窗口的基窗口,根据各级屏之间的继承关系进行切屏控制。本发明在各个电视系统平台具有很好的移植性,且由屏处理类统一对各级屏的构造、切换、消息处理等进行管理,带来更好、更快的切屏效果;本发明提出的UI框架结构简单,易于实现。
文档编号G06F9/44GK102270135SQ20111022816
公开日2011年12月7日 申请日期2011年8月10日 优先权日2011年8月10日
发明者付星, 姜超, 许锟, 龙超 申请人:深圳创维-Rgb电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1