[发明专利]在嵌入式Linux平台下基于Qt的混合界面的实现方法有效
申请号: | 201410125542.1 | 申请日: | 2014-03-31 |
公开(公告)号: | CN104951260B | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 顾国璋;季冬夏 | 申请(专利权)人: | 云南北方奥雷德光电科技股份有限公司 |
主分类号: | G06F3/14 | 分类号: | G06F3/14 |
代理公司: | 昆明祥和知识产权代理有限公司53114 | 代理人: | 张亦凡 |
地址: | 650000 云南*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 linux 平台 基于 qt 混合 界面 实现 方法 | ||
技术领域
本发明涉及一种界面实现方法,尤其涉及一种在嵌入式Linux平台下基于Qt的混合界面的实现方法。
背景技术
嵌入式LINUX是以LINUX为基础的嵌入式操作系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
QT是一个跨平台的应用程序框架。通过使用QT,可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统中,而无需重复编写源代码。QT/EMBEDDED LINUX是为嵌入式LINUX优化过的QT版本,可以运行在LINUX的任何硬件上运行——包括INTEL X86、MIPS、ARM、STRONG-ARM、MOTOROLA/FREESCALE 68000,以及POWERPC体系。
QT/EMBEDDED LINUX直接在LINUX的帧缓存中绘图。由于QT框架的约束,通常情况下,开发的界面程序只可实现2D界面。在嵌入式LINUX平台下基于QT实现3D特效,是极为有意义的。
发明内容
针对现有技术存在的问题,本发明的目的是提供一种能够实现3D界面的混合界面的实现方法。
本发明的技术方案包括:一种在嵌入式Linux平台下基于Qt的混合界面的实现方法,所述方法包括以下步骤:a.通过设定QWS_DISPLAY来指定Qt程序界面显示的帧缓存,所述帧缓存包括第一帧缓存和第二帧缓存;b.将2D元素输出至第一帧缓存;c.将3D元素输出至第二帧缓存;d.同步刷新第一帧缓存和第二帧缓存的显示。
优选地,第一帧缓存的大小为X*Y像素,其中X*Y为QWS显示分辨率。
优选地,第二帧缓存的大小为2X*Y像素,其中X*Y为QWS显示分辨率。
优选地,当将第二帧缓存置于顶层,覆在第一帧缓存之上时,显示界面为纯3D界面;当去除第一帧缓存中的应用程序窗体透明属性,并且禁用显示芯片默认透明色填充窗体时,显示界面为纯2D界面。
优选地,步骤d包括:第一帧缓存由qws实时绘制,第二帧缓存由第三方程序绘制,且同步显示。
优选地,第二帧缓存为水平显示或竖直显示方式。
优选地,第一帧缓存和第二帧缓存均为实现线性数据存储的连续内存空间。
本发明提供的在嵌入式Linux平台下基于Qt的混合界面的实现方法能够利用多帧缓存,造成视觉印象叠加的效果。
附图说明
图1是本发明一种优选实施方式的在嵌入式Linux平台下基于Qt的混合界面的实现方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和有点更加清楚,下面将结合附图对本发明实施例的技术方案作进一步说明。
如图1所示,本发明一种优选实施方式的在嵌入式Linux平台下基于Qt的混合界面的实现方法包括以下步骤:
在步骤110,通过设定QWS_DISPLAY来指定Qt程序界面显示的帧缓存,所述帧缓存包括第一帧缓存和第二帧缓存。
在嵌入式Linux系统中,需要指定第一个启动的Qt/Embedded Linux开发应用程序为QWS方式启动。在此之前,通过设定QWS_DISPLAY来指定Qt程序界面显示的帧缓存。其中,本领域技术人员可以知悉,Qt是一个跨平台C++图形用户界面应用程序框架,它提供给应用程序开发者建立图形用户界面所需的所有功能。QWS的全称是Qt windows system,是QT的窗口系统,体系结构类似X Windows,QWS为C/S结构。QWS_DISPLAY是Qt中的环境变量,qws启动时,会去检测QWS_DISPLAY这个环境变量。
在步骤120,将2D元素输出至第一帧缓存。在步骤130,将3D元素输出至第二帧缓存。
用Qt开发整体界面框架将所有2D元素指定显示输出至第一帧缓存,将3D元素输出至第二帧缓存。
在一个实施例中,通过ioctl控制将第一帧缓存覆在第二帧缓存之上,同时利用帧缓存的透明特性,实现2D&3D图像共存的特效,而且能够实现3D界面、2D界面之间的平滑切换。Ioctl是Qt中控制I/O设备的函数,用于获得设备信息和向设备发送控制参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南北方奥雷德光电科技股份有限公司,未经云南北方奥雷德光电科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410125542.1/2.html,转载请声明来源钻瓜专利网。