Qt Embedded是挪威Trolletch公司的图形化界面开发工具Qt的嵌入式版本,它通
过QtAPI与LinuxI/O以
及
Framebuffer直接交互,
拥有较高的运行效率,而且整体
采用面向
对象编程,拥有良好
地体系架构和编程模式。
Qt/Embedded在原始Qt的基础上,做了许多出色的调整以适合嵌入 式环境。同 Qt/X11相比 , Qt/Embedded很节省内存,因为它不需要Xserver或是Xlib库, 它 在底层摒弃了Xlib , 采用framebuffer 作为底层图形接口 。Qt/Embedded的应用程序可以直接写内核帧缓冲, 因此它在嵌入式li nux系统上的应用 非常广泛。
Qt/Embedded 与 Qtopia
在Qt/Embedded版本4之前,Qt/Embedded和Qtopia是两套不同的程序,Qt /Embedded是基础类库, Qtopia是构建于Qt/Embedded之上的一系列应用程序。但从 版本4开始,Trolltech将Qt /Embedded并入了Qtopia, 并推出了新的Qtopia4。在该版中,原来的Qt/Embedded被称为QtopiaCore, 作为嵌入式版本的核心,既 可以与Qtopia配合,也可以独立使用。原来的 Qtopia则被分成几层,核心的应 用框架和插件系统被称为Qtopia Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone等
X11(X Window System)是 一 个用于X Server和X Client通信协议。 Xlib将X11具体为一个个的功能函数 。 Qt、Gtk+等为了更方便的利用Xlib,对 其进行再封装,形成了多组件应用程序开发框架(widget toolkits)。 Qt有3个版本,商业版和免费版(GPL和LGPL)。Qt是跨平台的, 所以为四个OS平台开发 了不同的产品:面向Linux的就叫Qt/X11, 这个实际上是使用Xlib库 ;面向嵌入式Linux就叫Qt/Embedd ed,这个采用直接同Linux I/O或Framebuffer打交道; 再就是面向Mac OS X和面向Windows的产品(?可能 就直接叫做Qt)。基于Qt有最成功的产品 --- KDE。 基于Gtk+有最成功的产品 --- GNOME。 二者基本成为Linux 桌面版本的标准组成部分。 以下内容整理自互联网。
我们一般的开发情况是这样的:
在跑linux 的PC上安装基于 X11的PC版本 和基于Embedded的嵌入式版本。
之所以要安装PC版本,是因为我们的开发环境一定是PC平台,在PC上设计好QTE,编译好后
是无法在PC上运行的,无法调试。
所以安装基于X11的PC版本,就可以调试了。因为QT是跨平台的。
所以 我们平时是这样开发的:在基于X11的PC上设计好,达到我们的要求后,用目标平台的环境编译
程序,拷贝到开发板即可运行。
说白了 就是搭建两个编译环境,根据你的目的选择编译环境而已。 当然 嵌入式的QT相关文件必须 拷贝到开发板的文件系统里。
Qt/Embedded在原始Qt的基础上,做了许多出色的调整以适合嵌入 式环境。同 Qt/X11相比 , Qt/Embedded很节省内存,因为它不需要Xserver或是Xlib库, 它 在底层摒弃了Xlib , 采用framebuffer 作为底层图形接口 。Qt/Embedded的应用程序可以直接写内核帧缓冲, 因此它在嵌入式li nux系统上的应用 非常广泛。
Qt/Embedded 与 Qtopia
在Qt/Embedded版本4之前,Qt/Embedded和Qtopia是两套不同的程序,Qt /Embedded是基础类库, Qtopia是构建于Qt/Embedded之上的一系列应用程序。但从 版本4开始,Trolltech将Qt /Embedded并入了Qtopia, 并推出了新的Qtopia4。在该版中,原来的Qt/Embedded被称为QtopiaCore, 作为嵌入式版本的核心,既 可以与Qtopia配合,也可以独立使用。原来的 Qtopia则被分成几层,核心的应 用框架和插件系统被称为Qtopia Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone等
X11(X Window System)是 一 个用于X Server和X Client通信协议。 Xlib将X11具体为一个个的功能函数 。 Qt、Gtk+等为了更方便的利用Xlib,对 其进行再封装,形成了多组件应用程序开发框架(widget toolkits)。 Qt有3个版本,商业版和免费版(GPL和LGPL)。Qt是跨平台的, 所以为四个OS平台开发 了不同的产品:面向Linux的就叫Qt/X11, 这个实际上是使用Xlib库 ;面向嵌入式Linux就叫Qt/Embedd ed,这个采用直接同Linux I/O或Framebuffer打交道; 再就是面向Mac OS X和面向Windows的产品(?可能 就直接叫做Qt)。基于Qt有最成功的产品 --- KDE。 基于Gtk+有最成功的产品 --- GNOME。 二者基本成为Linux 桌面版本的标准组成部分。 以下内容整理自互联网。
我们一般的开发情况是这样的:
说白了 就是搭建两个编译环境,根据你的目的选择编译环境而已。 当然 嵌入式的QT相关文件必须 拷贝到开发板的文件系统里。
![X11 <wbr>FRAMEBUFFER <wbr> <wbr>QT X11 <wbr>FRAMEBUFFER <wbr> <wbr>QT](https://i-blog.csdnimg.cn/blog_migrate/32707f679feeb260a611c8d80da4760b.jpeg)