X11 FRAMEBUFFER QT
之前对X11 FRAMEBUFFER理解的不够,现在总结一下
Qt
Embedded是挪威Trolletch公司的图形化界面开发工具Qt的嵌入式版本,它通过QtAPI与LinuxI/O以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式。
Qt/Embedded在原始Qt的基础上,做了许多出色的调整以适合嵌入式环境。同
Qt/X11相比,Qt/Embedded很节省内存,因为它不需要Xserver或是Xlib库,它在底层摒弃了Xlib,采用framebuffer
作为底层图形接口。Qt/Embedded的应用程序可以直接写内核帧缓冲,因此它在嵌入式linux系统上的应用非常广泛。
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/Embedded,这个采用直接同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相关文件必须拷贝到开发板的文件系统里哦
这儿配上一幅图片大家什么都明白了
X11 FRAMEBUFFER QT的更多相关文章
- X11,GTK,QT,GNOME的区别与联系(UI工具总结)
1,X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通信协议.X server是xfree86/xorg驱 ...
- 编译x11版本qt
用buildroot 选择x11相关 在选择qt x11版本 export PATH=~/buildroot/output/host/usr/bin:$PATH 进入~/buildroot/out ...
- Linux图像系统框架-理解X11与Qt的层次结构
转:http://blog.csdn.net/kjfureone/article/details/52848550 1. 前言 图形子系统是linux系统中比较复杂的子系统之一:对下,它要管理形态各异 ...
- 是什么让 Ubuntu 选用 Qt 而不是 GTK?
是什么让 Ubuntu 选用 Qt 而不是 GTK? 一个正在发生的事实,Ubuntu正在不断Qt化!我曾一直在抱怨的Software Center,今日一看源码,竟然有softwarecenter/ ...
- QT、QTE、qtopia区别
QT.QTE.qtopia区别 Qt的授权是分为两条线,商业版和开源版.如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的:如果使用的是开源版的Qt,由于其使用的是GPL协议,那么可发出的程序 ...
- Qt概念和快捷键
Qt概念和快捷键 Qt简介 1.Qt的由来和发展 Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程 ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本
最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...
- Qt简介
一.Qt与Qt Creator简介 Qt是一个跨平台应用程序和 UI 开发框架.使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序. ...
随机推荐
- hdu 1850(尼姆博弈)
Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32 ...
- 计算 Python (list or array) 相同索引元素相等的个数
上代码: a = [2, 3, 3, 1, 1, 3, 3, 3, 2, 1, 3, 1, 3, 2, 2, 2, 3, 1, 2, 3, 2, 3, 1, 1, 2, 1, 1, 1, 2, 2, ...
- AC日记——小A和uim之大逃离 II 洛谷七月月赛
小A和uim之大逃离 II 思路: spfa: 代码: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f ...
- [原创] 基于RDP的桌面广播
之前写过一篇使用C# UDP 组播技术做的桌面广播实现, C# 使用UDP组播实现局域网桌面共享.最终效果差强人意,UDP包在不同的交换机上发送还会出现发送失败的情况,所以又重新研究了一些新的方法,包 ...
- Asp.net MVC CSS/Javascript Bundle 配置文件
Asp.net mvc 中使用 Web Optimization 可以合并.压缩JS和CSS文件,但是每次修改都要改代码 ~/App_Start/BundleConfig.cs ,遂有了将它挪到配置文 ...
- php将长字符串拆分为指定最大宽度的字符串数组
/** * 将字符串拆分为指定最大宽度的字符串数组.单字节字符宽度为1,多字节字符通常宽度为2 * @param string $msg 要拆分的字符串 * @param int $width 结果数 ...
- 七 使用list和tuple
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
- Tornado(二)
跨站请求伪造CSRF 开启xsrf(就是叫法不一样和csrf一样),'xsrf_cookies':True settings = { 'template_path':'template', 'stat ...
- RabbitMQ (一)
学习RabbitMQ 可以先先了解一下AMQP 简单介绍: AMQP从一开始就设计成为开放标准,以解决众多的消息队列需求和拓扑结构问题,凭借开发,任何人都可以执行这一标准.针对标准编码的任何人都可以和 ...
- noip历届 && 打代码常犯错误总结
最近(21号~24号)A了下noip历届……(挑题做的,主要做最近几年的) 发现noip好像十分钟情于搜索枚举……好几届都有. 发现自己搜索基本功实在堪忧啊,首先算法设计的十分拙计,而且还不会剪枝,然 ...