新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Qt图形编程基础之:嵌入式GUI简介

Qt图形编程基础之:嵌入式GUI简介

作者:时间:2013-09-13来源:网络收藏

本文引用地址:http://www.amcfsurvey.com/article/257104.htm

12.1.2MiniGUI

提起国内的开源软件,就肯定会提到MiniGUI,它由魏永明先生和众多志愿者开发,是一个基于的实时嵌入式系统的轻量级图形用户界面支持系统。

MiniGUI分为最底层的GAL层和IAL层,向上为基于标准POSIX接口中pthread库的Mini-thread架构和基于Server/Client的Mini-Lite架构。其中前者受限于thread模式对于整个系统的可靠性——进程中某个thread的意外错误可能导致整个进程的崩溃,该架构应用于系统功能较为单一的场合。Mini-Lite应用于多进程的应用场合,采用多进程运行方式设计的Server/Client架构能够较好地解决各个进程之间的窗口管理、Z序剪切等问题。MiniGUI还有一种从Mini-Lite衍生出的standalone运行模式。与Lite架构不同的是,standalone模式一次只能以窗口最大化的方式显示一个窗口。这在显示屏尺寸较小的应用场合具有一定的应用意义。

MiniGUI的IAL层技术SVGAlib、LibGGI、基于framebuffer的native图形引擎以及哑图形引擎等,对于Trolltech公司的QVFB在XWindow下也有较好的支持。IAL层则支持标准控制台下的GPM鼠标服务、触摸屏、标准键盘等。

MiniGUI下丰富的控件资源也是MiniGUI的特点之一。当前MiniGUI的最新版本是1.3.3。在该版本的控件中已经添加了窗口皮肤、工具条等桌面GUI中的高级控件支持。对比其他系统,“Mini”是MiniGUI的特色,轻量、高性能和高效率的MiniGUI已经应用在电视机顶盒、实时控制系统、掌上电脑等诸多场合。

12.1.3Microwindows、TinyX等

MicrowindowsOpenSourceProject成立的宗旨在于针对体积小的装置,建立一套先进的视窗环境,在桌面上通过交叉编译可以很容易地制作出Microwindows的程序。Microwindows能够在没有任何或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,Microwindows就显得十分小巧,便于移植到各种硬件和软件系统上。

然而Microwindows的免费版本进展一直很慢,几乎处于停顿状态,而且至今为止,国内没有任何一家对Microwindows提供全面技术支持、服务和担保的专业公司。

TinyXServer是XFree86Project的一部分,由KeithPachard发展起来的,而他本身就是XFree86专案的核心成员之一。一般的XServer都过于庞大,因此KeithPackard就以XFree86为基础,精简而成TinyXServer,它的体积可以小到几百KB,非常适合应用于嵌入式环境。

就纯XWindowSystem搭配TinyXServer架构来说,其最大的优点就是具有很好的弹性开发机制,并能大大提高开发速度。因为与桌面的X架构相同,因此相对于很多以Qt、GTK+、FLTK等为基础开发的软件可以很容易地移植过来。

虽然移植方便,但是却有体积大的缺点,由于很多软件本来是针对桌面环境开发的,因此无形之中具备了桌面环境中很多复杂的功能。因此“调校”变成采用此架构最大的课题,有时候重新改写可能比调校所需的时间还短。

表12.2总结了常见GUI的参数比较。

表12.2 常见GUI参数比较

名称
参数

MiniGUI

OpenGUI

Qt/Embedded

API(完备性)

Win32(很完备)

私有(很完备)

Qt(C++)(很完备)

函数库的典型大小

300KB

300KB

600KB

移植性

很好

只支持x86平台

较好

授权条款

LGPL

LGPL

QPL/GPL

系统消耗

最小

最大

支持

Linux

Linux,DOS,QNX

Linux

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c++相关文章:c++教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭