(1)优良的跨平台特性。
 
  Qt支持下列操作系统:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。
 
  (2)面向对象。
 
  Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。
 
  (3)丰富的API。
 
  Qt包括多达250个以上的C++类,还提供基于模板的collections、serialization、file、I/O device、directory management和date/time类。甚至还包括正则表达式的处理功能。
 
  (4)支持2D/3D图形渲染,支持OpenGL。
 
  (5)大量的开发文档。
 
  (6)XML支持。
 
  但是真正使得Qt在自由软件界的众多Widgets(如Lesstif、Gtk、EZWGL、Xforms及fltk等)中脱颖而出的还是基于Qt的重量级软件KDE。Qt虽然是商业公司的产品,但是走的却是开源路线,提供免费下载,全部都是开放源代码,非商业用途亦采用GPL的版权宣告,著名的Open Source"KDE"项目便是采用Qt开发的。
 
  Trolltech也针对嵌入式环境推出了Qt Embedded产品。与桌面版本不同,Qt Embedded已经直接取代了X Server及X Library等角色,将所有的功能全部整合在一起。
 
  Qt Embedded同样具有跨平台的特点,省掉了不少移植软件的功夫,这样的概念和Java十分接近。同时它还采用模块化设计,其最大的好处是有弹性,Qt Embedded号称最小,可以缩到800 KB左右,最多可以长到3 MB(for Intel x86),这样的弹性也让Qt Embedded更适合在嵌入式环境下生存。
 
  Qt Embedded延续了Qt在X上的强大功能,在底层摒弃了X lib,仅采用FrameBuffer作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件,底层接口支持键盘、GPM鼠标、触摸屏及用户自定义的设备等。
 
  Qt Embedded类库完全采用C++封装。丰富的控件资源和较好的可移植性是Qt Embedded最为优秀的一方面。它的类库接口完全兼容于同版本的Qt-X11,使用X下的开发工具可以直接开发基于Qt Embedded的应用程序QUI界面。
 
  与前两种GUI不同的是,Qt Embedded的底层图形引擎只能采用FrameBuffer,这就注定了它是针对高端嵌入式图形领域的应用而设计的。由于该库的代码追求面面俱到,以增加它对多种硬件设备的支持,造成了其底层代码比较凌乱,各种补丁较多的问题。Qt Embedded的结构也过于复杂和臃肿,很难进行底层的扩充、定制和移植,尤其是用来实现signal/slot机制的moc文件。
 
  Qt Embedded当前已经升级为Qtopia Core和Qtopia Core,继承了Qt4的新技术,包括:高性能渲染引擎、模板容器类及基于行为的主窗口架构,改进的功能特点包括文本渲染与多线程技术。当编译Qtopia Core时,可以去除不用的功能,以最小化软件的占用空间。

qt优点的更多相关文章

  1. 界面编程之QT的基本介绍与使用20180722

    /*******************************************************************************************/ 一.qt介绍 ...

  2. MFC和Qt优缺点 (MFC几乎没有优点、全面下风)

    在网上看到的,拿来和大家一起讨论下. 我曾经使用过来开发过软件,我想和大家分享我使用他们时所体会的不同之处. 我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰.但是,我在这里 ...

  3. 财富500强的前10个公司里有8个公司在使用Qt(Qt自己认为的优点是:直觉主义、跨平台、节省时间),以及一些商业案例

    8 of Top 10 Fortune 500 use Qt Qt is the software development framework of choice by engineers in ov ...

  4. QT信号槽的六个优点(虽然直接调用函数也可解决问题,但要在具体的函数中传递指针,多对一和解除关系也够麻烦的)

    信号槽是Qt中特有的概念.它使得程序员将不同的object绑定起来,而object对象间并不需要对相互了解. Slots也是普通的c++方法,它们可以是virtual;可以被重载;可以使private ...

  5. Qt with OpenCascade

    Qt with OpenCascade 摘要Abstract:详细介绍了如何在Qt中使用OpenCascade. 关键字Key Words:Qt.OpenCascade 一.引言 Introducti ...

  6. QT 中 关键字讲解(emit,signal,slot)

    Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法.作为一种通用的处理机制,信号与反应槽非常灵活,可以携 ...

  7. Qt——动态库的创建和使用

    一.动态库是什么 很多人写程序的人都见过.lib和.dll文件,对动态库也略有耳闻. 生成动态库后可以得到两个文件,后缀名分别是.lib以及.dll. 简而言之,.lib称为导入库,相当于头文件:.d ...

  8. Qt之布局管理--基本布局

    Qt提供的布局类以及他们之间的继承关系QLayout-----QGirdLayout | ---QBoxLayout----QHBoxLayout | --QVBoxLayout----------- ...

  9. Qt QObject

    [1]Qt的QObject 1.测试代码如下: #include<QApplication> #include<QPushButton> #include<QDebug& ...

随机推荐

  1. 原生javascript写的侧栏跟随效果

    浏览网站时经常看到有的网站上,当一个页面很长的时候,设定侧栏内容会跟随滚动条滚动,我们把这种效果叫做“侧栏跟随滚动”.这种特效对提高网站浏览量.文章点击率.广告点击量都有一定效果. 侧栏跟随滚动的实现 ...

  2. wdcp-apache开启KeepAlive提高响应速度

    因为我们的网站,媒体文件,js文件,css文件等都在同一个服务器上,并且,我们网站有非常多的图片,所以当建立好tcp链接之后,不应该马上关闭连接,因为每建立一次连接还要进行dns解析,以及启动一个ht ...

  3. VIM快捷键(转)

    VIM快捷键:光标移动:四个方向   kh 0 l   j  ctrl+f, ctrl+b                 向下翻页,向上翻页  ctrl+d, ctrl+u              ...

  4. 接受、online、见刊时,期刊的 IF 都不同,究竟算发几分期刊?

  5. Ubuntu_10.04下Hadoop-0.20.2集群配置手册

    Ubuntu_10.04下Hadoop-0.20.2集群配置手册 一.软硬件环境的准备 下面的文章来自hadoopor.com,我先交待一下我自己的环境: 两台机器,每台机器上面两个虚机(vmware ...

  6. Delphi判断文件是否正在被使用(CreateFile也可以只是为了读取数据,而不是创建)

    首先,我们先来认识下CreateFile函数,它的原型如下   HANDLE CreateFile( LPCTSTR lpFileName,    //指向文件名的指针 DWORD dwDesired ...

  7. 详解Spring中的CharacterEncodingFilter

    在项目中有很多让人头疼的问题,其中,编码问题位列其一,那么在Spring框架中是如何解决从页面传来的字符串的编码问题的呢?下面我们来看看Spring框架给我们提供过滤器CharacterEncodin ...

  8. Java NIO API详解

    在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API.对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端 ...

  9. SQL约束和字段约束的创建和删除

    1)禁止所有表约束的SQLselect 'alter table '+name+' nocheck constraint all' from sysobjects where type='U' 2)删 ...

  10. 总结linux无线命令wpa

    关于wpa_supplicant: 用到wpa_cli命令 wpa_cli -iwlan0 add_network             // wlan0 是无线网络设备的名字,增加一个网络,会返回 ...