QT、QTE、qtopia区别
QT、QTE、qtopia区别
Qt的授权是分为两条线,商业版和开源版。如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的;如果使用的是开源版的Qt,由于其使用的是GPL协议,那么可发出的程序也必须是GPL的。不过自从qt 4.5.0版本,诺基亚公司使用了LGPL协议,那么写出的程序就可以据为己有了!
Qt 的版本是按照不同的图形系统来划分的,目前分为四个版本:
Win32版,适用于Windows平台;
X11版,适合于使用了x系统的各种 linux 和 unix的平台;
Mac版,适合与苹果MacOS;
embedded版,适合于具有帧缓冲(frame buffer)的linux 的平台。
区分----------------------------------------------------------------->
Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。一般命名以qt-x11-opensource-xxx!
QT/E -> Qtopia-core -> Qt-embedded-opensource(同一种鸟):Qt 在刚出现的时候,对于Linux和Unix系统,只有构建于Xlib之上的X11版。但随着Linux操作系统在嵌入式领域的应用日渐广泛,Qt推出了嵌入式的版本Qt/E。由于嵌入式受限的硬件环境往往难以运行庞大的X服务器,Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高,但它并不是Qt的子集,而应该是超集,部分机制(如QCOP等)不能用于Qt/X11中。
Qtopia(注意不是Qtopia-core,两者是不一样的):一般命名为qtopia-opensource,最初是sourceforge.net上的一个开源项目,全称是Qt Palmtop Environment,是构建于Qt/E之上一个类似桌面系统的应用环境,包括了PDA和手机等掌上系统常见的功能如电话簿、日程表等。现在Qtopia 已经成为了Trolltech的又一个主打产品,为基于Linux操作系统的PDA和手机提供了一个完整的图形环境。
值得特别注意的是在版本4之前,Qt/E和Qtopia是不同的两套程序,Qt/E是基础类库,Qtopia是构建于Qt/E之上的一系列应用程序。但从版本4开始,Trolltech将Qt/E并入到了Qtopia产品线中去了,并推出了新的Qtopia4。但实际上原来的Qt/E仍然作为基础类库,只是改名为Qtopia Core了,也许又感觉Qtopia Core跟Qtopia容易让人搞混,所以又改名为qt-embedded-linux-opensource-linux/wince(QT也支持Wince )。它作为嵌入式版本的核心,既可以与Qtopia配合,也可以独立使用。而原来的Qtopia则被分成几层,核心的应用框架和插件系统被称为 Qtopia Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone。
Qte的改名过程,Qte-->Qtopia Core-->Qt-embedded-linux-xxxx
这几个其实差不多是一个东西,名称很容易搞混。
记住在QT4版本前要安装Qtopia需要先装Qt/E,但之后的就不需要了。4之后的Qtopia 已经带有QT/E库了。
所以总的来说,QT也就三种:面向桌面的x11、面向嵌入式的Qt/E、以及面向嵌入式带各种应用程序的Qtopia桌面系统!!!
Qt
泛指 Qt software的所有版本的图像界面库,包括 Qt/X11(Unix/Linux),Qt Windows, Qt Mac 等,但这只是相对于二进制来说的。Qt作为一个跨平台的GUI 框架,在源码上对所有平台都是一致的。Unix/Linux上最流行的桌面环境之一KDE就是采用Qt来写的。
Nokia 在2008年收购 Trolltech 后,将 Qt 更名为 Qt Software,随后改为 Qt Development Frameworks。而后 Nokia 开发了 IDE 工具 Qt Creator,于是Qt FrameWork + Qt Creator = Qt SDK。
Qte:Qt/Embeded for linux
它是用于嵌入式 Linux 系统的 Qt 版本,也是一套界面库,Qt/Embeded 也简称 Qte 或 Qt/E,Qte 去掉了 X Lib 的依赖而直接工作在 Framebuffer 上,而且Qte在此基础上实现了自己的窗口管理系统QWS(Qt Windows System),这是Qte与Qt/X11最大的区别。因此Qte可以在嵌入式Linux系统中没有X11库的环境下构建独立的图形用户界面,而且不会占用太多的嵌入式系统资源。
Qte为方便嵌入式Qt应用的开发,还提供qvfb工具和makeqpf工具。qvfb工具可以实现Qte的应用能在PC上进行调试和测试,避开X11库的干扰。makeqpf工具则是用来制作qpf字体文件,用来在嵌入式界面中显示特殊渲染字体。
Qtopia
Qtopia 是一个基于 Qte 的类似桌面系统的应用环境,同时又为开发者为嵌入式设备编写程序提供了一套面向对象的API,包含有 PDA 版本和 Phone 版本。请注意是基于Qte 的应用环境,Qtopia 是用 Qte 这个库开发出来的应用程序,实际上Qtopia就相当于是嵌入式设备上的桌面环境,也就是类似于PC上的KDE,提供有自己的窗口管理、控制等GUI接口,简化了其上Qte应用的开发。就算不使用Qtopia也可以使用Qte创建自己的图形界面。
Qtopia早期是一个sf.net上的开源项目,构建于Qte之上。从Qt4.1开始,Qt/Embedded改名为Qtopia Core,又从Qt4.4.1开始,Qtopia Core又改名为Qt for Embedded Linux,就是现在的Qte(eveywhere)。
Qtopia Platform
Qtopia平台由Qt/E, libqpe, libqtopia1, qtopiapim这些库和Qtopia server/launcher组成。应用开发者通过使用这些库提供的API来为Qtopia设备开发应用程序。Qtopia server/launcher作为主程序负责窗口系统的控制、进程间的通讯、启动所有的应用及其它的任务。
Qtopia/Qte的版本
- Qtopia1.7.0 / Qte 2.3.7
- Qtopia2.1.1 / Qte 2.3.10
- Qtopia2.1.2 / Qte 2.3.11
- Qtopia2.2.0 / Qte 2.3.12 (包含在qtopia2.2源码包中,2005年,最后一个免费的版本)
qtopia 2的应用基于qte 2.3.x的,qtopia 4的应用基于qtopia core(相当于原来的qte) 4.x。
Qt 的概念:Qt 是泛指 Qt 的所有版本的图像界面库,比如 Qt/X11,Qt Windows, Qt Mac 等。由于 Qt
最早是在 Linux 中随着 KDE 流行开来的,
所以我们通常所说的 Qt 都是指的用于 Linux/Unix 的 Qt/X11。后
面会讲到 Qt2、Qt3 和 Qt4,2、3 和 4 是指的 Qt 的版本号。
Qt/Embeded 的概念:它是用于嵌入式 Linux 系统的 Qt 版本,Qt/Embeded 也简称 Qte 或 Qt/E(以下使
用 Qte 表 示 ) Qte 去掉了 X Lib 的依赖而直接工作在 Framebuffer 上,虽然它是 Qt 的嵌入式版本,但是它
。
不是 Qt/X11 的子集,它有部分机制(比如 QCOP 等)就不能用于 Qt/X11 中。
Qtopia 是一个基于 Qte 的类似桌面系统的应用环境,包含有 PDA 版本和 Phone 版本。请注意是基于
Qte 的应用环境,换个说法就是 Qte 是库(实际上也是库,叫基础类库)
,Qtopia 是用 Qte 这个库开发出来
的应用程序。Qtopia 最高版本是 Qtopia-2.2.0,在这之后就没有再推出过免费的 Qtopia 了。
Qtopia Core:可以认为是刚刚讲到的 Qte,虽然名字中含有 Qtopia,不过它的实质还是刚刚讲到的 Qte
的基础类库。虽然从 Qt4 开始把 Qtopia Core 并到 Qtopia 的产品线中了,但实质上 Qtopia Core 还是基础类
库,相当于 Qte。
QT、QTE、qtopia区别的更多相关文章
- Qt/Qte/Qtopia三者的区别
Qt泛指 Qt software的所有版本的图像界面库,包括 Qt/X11(Unix/Linux),Qt Windows, Qt Mac 等,但这只是相对于二进制来说的.Qt作为一个跨平台的GUI 框 ...
- Qt, QT/E, Qtopia 的区别
转自Qt, QT/E, Qtopia 的区别 Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等.由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Q ...
- X11,GTK,QT,GNOME的区别与联系(UI工具总结)
1,X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通信协议.X server是xfree86/xorg驱 ...
- Qt Widgets、QML、Qt Quick的区别
Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...
- c++ map与 qt QMap insert 区别
当插入相同key的字段时, c++ map 会保留原来的字段, QMap 则会取代原来的字段.
- 开篇-QT完全手册
嵌入式工具Qt的安装与使用 摘要 Qt是Trolltech公司的一个产品.Trolltech是挪威的一家软件公司,主要开 发两种产品:一种是跨平台应用程序界面框架:另外一种就是提供给做嵌入式Linux ...
- Lepus经历收获杂谈(二)——QT
QT简介及相关使用指南 1.QT Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框 ...
- QT编译mysql驱动
一. 下载mysql C链接库 地址:http://dev.mysql.com/downloads/ 根据当前系统选择下载: 二. 安装下载好的mysql驱动文件 注意,一定要安装在不含有中文.空格以 ...
- Qt学习博客推荐
附录C Qt资源 C.1 Qt 官方资源 全 球各大公司以及独立开发人员每天都在加入 Qt 的开发社区.他们已经认识到了Qt 的架构本身便可加快应用程序开发进度.这些开发人员,无论是想开发单平台软件. ...
随机推荐
- Android(java)学习笔记212:中文乱码的问题处理(qq登录案例)
1.我们在之前的笔记中LoginServlet.java中,我们Tomcat服务器回复给客户端的数据是英文的"Login Success","Login Failed&q ...
- 关于css中伪类及伪元素的总结
css中的伪类和伪元素总是混淆,今天参考了很多资料,也查看了部分文档,现将伪类及伪元素总结如下: 一.由来: 伪类和伪元素的引入都是因为在文档树里有些信息无法被充分描述,比如CSS没有"段落 ...
- 《REWORK》启示录 招聘笔杆子——程序员为什么值得写博客
Hire Great Writers 仿佛这是写给自己看的,不过这在其中也有着相当有趣的意义 .虽然自己算是一个能写的人,或许这算是一种不算才华的才华,写博文的意义通常不会在于去描述自己怎样,怎样.通 ...
- 9.23 noip模拟试题
Problem 1 抓牛(catchcow.cpp/c/pas) [题目描述] 农夫约翰被通知,他的一只奶牛逃逸了!所以他决定,马上出发,尽快把那只奶牛抓回来. 他们都站在数轴上.约翰在N(O≤N ...
- 关于WINDOWS命令
1. Windows netstat 查看端口.进程占用 netstat -aon — 显示全部进程 2. 查看进程命令 tasklist — 显示全部进程 taskkill — 关闭至少一个系统进 ...
- The windows PowerShell snap-in 'Microsoft.Crm.PowerShell' is not installed on this computer
加载PowerShell插件时出现以下错误: The windows PowerShell snap-in 'Microsoft.Crm.PowerShell' is not installed on ...
- power desinger 学习笔记三<批量执行sql语句>
使用sql脚本导入表结构,直接 附带表的 约束.列的注释.真的可以哦 sql语句如下: create table test01 ( ID VARCHAR2(10 ...
- C# var
VAR 是3.5新出的一个定义变量的类型其实也就是弱化类型的定义VAR可代替任何类型编译器会根据上下文来判断你到底是想用什么类型的 至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型就可 ...
- AngularJS+NodeJS环境搭建
需要安装的软件: node-v0.12.7-x64.msi python-2.7.10.amd64.msi Git-2.5.1-64-bit.exe (注意:Git安装时,需要选择的步骤) 安装位置 ...
- 371. Sum of Two Integers -- Avota
问题描述: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and - ...