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 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序. ...
随机推荐
- P3960 列队
这是NOIP 2017最后一道题 不知道这道题有没有人代码写的和我一样麻烦. Solution 30分暴力 维护每行每列的元素. 每次删除一个元素的时候, 需要修改一行一列 因此复杂度上界\(O(nm ...
- 机器学习-sklearn-learn
随即森林 from sklearn import neighbors, datasets, preprocessing from sklearn.model_selection import trai ...
- 微信小程序之wepy自动化架构搭建(fly+wepy-plugin-replace)
前言 本文章秉着自动化工程项目的思想搭建的,基础架子完全按照wepy官网搭建,在基础上增加配置达到自动化项目.新增动flxio拦截器自动处理接口,新增根据环境变量来改变运行时的参数. Fly.js 小 ...
- js过滤检测敏感词汇
html: <textarea rows="10" cols="100" id="myDiv"></textarea> ...
- spring_150909_hibernate_id_table
1.新建java工程:spring_150909_hibernate_id_table,如下图所示: 2.建DogPet实体类: package com.spring.model; import ja ...
- SCU 4445 Right turn
模拟. 每次找一下即将要遇到的那个点,这个数据范围可以暴力找,自己的写的时候二分了一下.如果步数大于$4*n$一定是$-1$. #include<bits/stdc++.h> using ...
- Python数据类型-集合(set)
1.创建集合 集合的创建不同于前两种数据结构. 集合通过set(iterable)方法创建,参数iterable为可迭代对象. 示例代码: s1 = set('好好学习天天想上') # 将字符串分解为 ...
- 隐马尔可夫模型(Hidden Markov Model)
隐马尔可夫模型(Hidden Markov Model) 隐马尔可夫模型(Hidden Markov Model, HMM)是一个重要的机器学习模型.直观地说,它可以解决一类这样的问题:有某样事物存在 ...
- Docker应用系列(二)| 构建Zookeeper集群
本示例基于Centos 7,在阿里云的三台机器上部署zookeeper集群,假设目前使用的账号为release,拥有sudo权限. 由于Docker官方镜像下载较慢,可以开启阿里云的Docker镜像下 ...
- HDU3853 LOOPS 期望DP 简单
http://acm.hdu.edu.cn/showproblem.php?pid=3853 有一点坑的地方是如果一个地方停在原地的概率为1,那么该地的期望为0,就相当于这个地方也是一个出口... ...