sponsored links

Qt

Qt
Qt
Qt

使用Qt DesignerGUI设计
开发者 Qt Project、诺基亚DigiaKDE
稳定版本 5.5(2015年7月1日2015-07-01
预览版本 5.6 Alpha(2015年9月8日2015-09-08
开发状态 进行中
编程语言 C++
操作系统 跨平台
类型 应用程式框架
许可协议 LGPL、GPL、商业授权
网站 www.qt.io

Qt(官方发音同cute 发音为/kju:t/,虽然也俗称为Q.T.发音为/kju:tiː/")是一个跨平台的C++应用程式开发框架。广泛用于开发GUI程式,这种情况下又被称为部件工具箱。也可用于开发非GUI程式,比如控制台工具和服务器。Qt使用于OPIE、Skype、VLC media player、Adobe Photoshop Elements、VirtualBoxMathematica以及被Autodesk欧洲太空总署梦工厂GoogleHPKDE卢卡斯影业西门子公司富豪集团, 华特迪士尼动画制作公司三星集团飞利浦Panasonic 所使用。

它是Digia公司的产品。Qt使用标准的C++和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些。通过语言绑定,其他的程式语言也可以使用Qt。

Qt是自由且开放原始码的软件,在GNU较宽松公共许可证(LGPL)条款下发布。所有版本都支援广泛的编译器,包括GCC的C++编译器和Visual Studio。

历史

时间 Qt版本
1995年 Qt 1.0
1998年7月 Qt 1.4
1999年4月 Qt 1.4.4
1999年6月 Qt 2.0
2000年4月 Qt 2.1
2000年9月6日 Qt 2.2
2001年10月15日 Qt 3.0
2002年11月 Qt 3.1
2003年7月 Qt 3.2
2004年2月 Qt 3.3
2005年6月27日 Qt 4.0
2005年12月 Qt 4.1
2006年10月 Qt 4.2
2007年5月 Qt 4.3
2008年5月 Qt 4.4
2009年3月 Qt 4.5
2009年4月 Qt 4.5.1
2009年12月 Qt 4.6
2010年2月 Qt 4.6.2
2010年6月 Qt 4.6.3
2010年9月 Qt 4.7
2011年5月4日 Qt 4.7.3
2011年12月15日 Qt 4.8
2012年05月22日 Qt 4.8.2
2012年09月13日 Qt 4.8.3
2012年12月19日 Qt 5.0
2013年01月31日 Qt 5.0.1
2013年04月10日 Qt 5.0.2
2013年07月03日 Qt 5.1
2013年08月28日 Qt 5.1.1
2013年12月12日 Qt 5.2
2014年05月20日 Qt 5.3
2014年12月10日 Qt 5.4
2015年07月01日 Qt 5.5

Haavard Nord和Eirik Chambe-Eng于1991年开始开发"Qt",1994年3月4日创立公司,最早名为Quasar Technologies,然后更名为Troll Tech,然后再改为Trolltech,中文名是“奇趣科技”,2008年6月17日被NOKIA公司收购,以增强该公司在跨平台软件研发方面的实力,更名Qt Software。

该工具包名为Qt是因为字母Q在Haavard的Emacs字体特别漂亮,而“t”代表“toolkit”,灵感来自Xt,X toolkit。

2009年5月11日,诺基亚Qt Software宣布Qt原始码管理系统面向公众开放,Qt开发人员可通过为Qt以及与 Qt相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造Qt未来的发展。为了便于这些内容的管理,Qt Software启用了基于Git和Gitorious开源项目的Web原始码管理系统。

在推出开放式Qt代码库的同时,Qt Software在其网站发布了其产品规划(Roadmap)。其中概述了研发项目中的最新功能,展现了现阶段对Qt 未来发展方向的观点,以期鼓励社区提供反馈和贡献代码,共同引导和塑造Qt的未来。 2012年8月9日,Digia宣布已完成对诺基亚Qt业务及软件技术的全面收购,并计划将Qt应用到AndroidiOS及Windows 8平台上。

支持平台

使用Qt开发的软件,相同的程式码可以在任何支援的平台编译与执行,而不需要修改原始码。会自动依平台的不同,表现平台特有的图形界面风格。

  • Linux/X11:用于X Window System(如SolarisAIXHP-UXLinuxBSD)。支援KDevelop和Eclipse IDE集成
  • Mac:用于Apple Mac OS X。基于Cocoa框架。支援Universal Binary。支援以Xcode编辑、编译和测试。
  • Windows:用于Microsoft Windows。支援Visual Studio集成,也可以使用MinGW编译
  • Embedded Linux:用于嵌入式Linux。可以透过编译移除不常使用的组件与功能。透过自己的视窗系统QWS,不需依赖X Window System,直接写入Linux帧缓冲。可以减少内存消耗。并提供虚拟帧缓冲QVFb,方便在桌面系统上进行嵌入式测试。
  • Windows CE / Mobile :用于Windows CE
  • Symbian:用于Symbian platform
  • Maemo/MeeGo:用于Maemo
  • Wayland –用于Wayland显示服务器,Qt应用程式可以在运行时切换图形后端,如X与Wayland。

外部移植

自从诺基亚开放了Qt的原始码给社群后,Gitorious上各种移植纷纷出现。下面是其中一部份:

  • Qt for OpenSolaris –用于OpenSolaris
  • Qt for Haiku –用于Haiku OS
  • Qt for OS/2 –仍然不完整的OS/2 eCS platform移植。
  • Qt-iPhone –用于iPhone的实验中产品。
  • Android-Lighthouse –用于Android的实验中产品。
  • Qt for webOS –用于Palm Pre上webOS的实验中产品。
  • Qt for Amazon Kindle DX –用于Amazon Kindle DX的实验中产品。

授权模式

Qt开放源代码,并且提供自由软件的用户协议。使得它可以被广泛地应用在各平台上的开放源代码软件开发中。

Qt提供三种授权方式。三种授权方式的功能、性能都没有区别,仅在于授权协议的不同。LGPL和GPL是免费发布,商业版则需收取授权费。:

  • Qt商业版 - Qt商业授权适用于开发专属和/或商业软件。此版本适用于不希望与他人共享源代码,或者遵循GNU宽通用公共许可证(LGPL)2.1版或GNU GPL 3.0版条款的开发人员。提供了技术支援服务。可以任意的修改Qt的原始码,而不需要公开。
  • GNU LGPL v. 2.1- Qt 4.5.0及以后的版本开始遵循GNU LGPL。LGPL允许链结到它的软件使用任意的许可证,可以被专属软件作为类库引用、发布和销售。可以购买支援服务。
  • GNU GPL v. 3.0 - 如果您希望将Qt应用程序与受GNU通用公共许可证(GPL)3.0版本条款限制的软件一同使用,或者您希望Qt应用程序遵循该GNU许可证版本的条款,则此版本Qt适用于开发此类Qt应用程序。可以购买支援服务。

Qt模块

经过多年发展,Qt不但拥有了完善的C++图形库,而且近年来的版本逐渐整合了数据库OpenGL库、多媒体库、网络脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信多线程等模块,极大的丰富了Qt开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨“Code Less; Create More; Deploy Anywhere.”。

由于各家编译器良莠不齐。Qt本身为了跨平台相容性,只能以“最低相容规格”来设计。因此Qt必须具备RTTI、动态创建、Persistence/Serialization的基础建设,以及建构出自己的容器元件。

  • 下列模组提供一般的软件开发
    • QtCore—QtCore模组是所有基于Qt的应用程式的基础,提供信号与槽的物件间通讯机制、IO、事件和物件处理、多执行绪
    • QtGui—包含了开发图形使用者接口应用程式所需的功能。使用其支援的各个平台的原生图形API。支援反锯齿、向量形变。支持ARGB顶层widget
    • QtMultimedia—提供了用于多媒体内容处理的QML类型集和C++类集。同时提供访问摄像头及音频功能的API。包含的Qt音频引擎支持三维音频回放及管理。
    • QtNetwork—提供了网络程式设计功能。支援通用协定,如HTTP、FTP和DNS,包括对异步HTTP 1.1的支援。与较低层的TCP/IP和UDP协议,如QTcpSocket、QTcpServer和QUdpSocket
    • QtOpenGL—提供在应用程式中使用OpenGL和OpenGL ES加入3D图形。在Windows平台上亦支援Direct3D
    • QtOpenVG-提供OpenVG绘图支持的一个插件
    • QtScript—包含完全整合的ECMA标准指令码引擎。提供信号与槽机制简化物件间通讯和QtScript侦错程式。
    • QtScriptTools—额外的Qt Script组件
    • QtSql—将数据库整合至应用程式。支援所有主要的数据库驱动包括ODBCMySQL、PSQL、SQLite、ibase、Oracle、Sybase、DB2。
    • QtSvg—支援SVG格式
    • QtWebKit—整合WebKit,提供了HTML浏览器引擎,便于在原生应用程式中嵌入网络内容和服务。
    • QtXml—提供了XML文档的阅读器和编写器、支持SAXDOM
    • QtXmlPatternsl—提供了XQuery和XPath引擎支持。
    • Phonon—整合Phonon,支援跨平台应用程式播放音讯和视讯内容。Qt5开始不支援Phonon。
    • Qt3Support—模块提供兼容Qt 3.х.х版本的程式库
    • QtDeclarative - engine for declaratively building fluid user interfaces in QML
  • 作业于Qt附带工具的模组
    • QtDesigner—提供扩充Qt Designer的类别。
    • QtUiTools
    • QtHelp—协助整合线上文件到应用程式中。
    • QtTest—提供单元测试框架和鼠标和键盘类比功能。整合Visual Studio和KDevelop
  • 下列模组用于Unix开发
    • QtDBus
  • 下列模组用于Windows开发
    • QAxContainer
    • QAxServer

图形使用者接口

Qt的图形使用者接口的基础是QWidget。Qt中所有类型的GUI组件如按钮、标签、工具列等都衍生自QWidget,而QWidget本身则为QObject的子类别。Widget负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。每一个GUI组件都是一个widgetwidget还可以作为容器,在其内包含其他Widget

QWidget不是一个抽象类别。并且可以被放置在一个已存在的使用者接口中;若是Widget没有指定父Widget,当它显示时就是一个独立的视窗、或是一个顶层widget。QWidget显示能力包含了透明化及Double-Buffering。Qt提供一种托管机制,当Widget于建立时指定父物件,就可把自己的生命周期交给上层物件管理,当上层物件被释放时,自己也被释放。确保物件不再使用时都会被删除。

讯号与槽

Qt利用讯号与槽(signals/slots)机制取代传统的callback来进行物件之间的沟通。当操作事件发生的时候,物件会发送出一个讯号(signal);而槽(slot)则是一个函式接受特定信号并且执行槽本身设定的动作。信号与槽之间,则透过QObject的静态方法connect来连结。

讯号在任何执行点上皆可发射,甚至可以在槽里再发射另一个讯号,讯号与槽的连结不限定为一对一的连结,一个讯号可以连结到多个槽或多个讯号连结到同一个槽,甚至讯号也可连接到讯号。

以往的callback缺乏类型安全,在呼叫处理函数时,无法确定是传递正确型态的参数。但讯号和其接受的槽之间传递的资料型态必须要相符合,否则编译器会提出警告。讯号和槽可接受任何数量、任何型态的参数,所以讯号与槽机制是完全类型安全。

讯号与槽机制也确保了低耦合性,发送信号的类别并不知道是哪个槽会接受,也就是说一个信号可以呼叫所有可用的槽。此机制会确保当在"连接"信号和槽时,槽会接受信号的参数并且正确执行。

布局管理

布局管理类别用于描述一个应用程序的用户界面中的Widget是如何放置。当视窗缩放时,布局管理器会自动调整widget的大小、位置或是字号,确保他们相对的排列和用户界面整体仍然保有可用性。

Qt内建的布局管理类型有:QHBoxLayout、QVBoxLayout、QGridLayout和QFormLayout。这些类别继承自QLayout,但QLayout非继承自QWidget而是直接源于QObject。他们负责widget的几何管理。想要创建更复杂的版面配置,可以继承QLayout来自订版面配置管理员。

  • QHBoxLayout:配置widget成横向一列
  • QVBoxLayout:配置widget成垂直一行
  • QGridLayout:配置widget在平面网格
  • QFormLayout:配置widget用于2栏标签- field

Main Window

Qt提供了下列主视窗管理和相关的用户界面组件的类别:

  • QMainWindow:提供一个标准的应用程式主视窗。当中可以包括选单、工具列、状态列、停驻元件等元件。
  • QDockWidget:提供了一个可用于创建弹簧工具调色板或辅助窗口的widget。Dock widgets可以移、关闭、浮动为外部视窗。
  • QToolBar:提供了一个通用的工具栏widget,可以放入一些不同的action有关的工具,如按钮、下拉选单、comboboxes和spin boxes。

Graphics View

Graphics View提供了用于管理和交互大量定制的2D图形对象的平面以及可视化显示对象的视图widget,并支持缩放和旋转功能。

整个Graphics View框架提供一个以Item为基础的model-view设计。由3个主要的类别组成,分别是QGrphicsItem、QGraphicsScene和QGraphicsView。若干View可以显示一个Scene,Scene中则包含不同几何形状的Item。

该框架包括一个事件传播的架构,让在Scene上的Item有双精度的互动能力。Item可以处理键盘事件,鼠标按下、移动、释放和双击事件,他们也可以跟踪鼠标移动。

Graphics View使用BSP(二进制空间划分)树可非常快速地找到Item,因此即使是包含百万个Item的大型Scene,也能实时图形化显示。

KDE中的Plasma亦是基于Graphics View实现的。

无障碍环境

无障碍环境需要无障碍兼容的应用程式、辅助技术、以及辅助工具之间的合作。应用程式通常不会直接沟通辅助工具,而是通过一个辅助技术,这是一个应用程式和工具之间资讯交流的桥梁。使用者界面元素相关讯息,例如按钮和滚动条,使用辅助技术来显示。Qt支持Windows上的Microsoft Active Accessibility(MSAA)和Mac OS X上Mac OS X Accessibility。

无障碍相容的应用程式称为AT-Servers,而辅助工具被称为AT-Clients。Qt应用程式通常会是一个AT-Server,但特别的程式也可能如同AT-Client方式工作。

国际化

Qt的字体引擎能够在同一时间正确的显示各种不同的书写系统。并且Qt内部使用Unicode编码来储存文字。

Qt的多国语言支援技术,可以让应用程式中的文字全部使用英文撰写,能够在完全不需修改程式的状况下,改变整个应用程式中的文字为另一个语系的文字,并能够协助处理不同语言的单、复数问题。

独立的翻译档案使得新增支援语言相当容易,同时翻译档案(.ts)为XML格式可以直接编辑或使用Qt Liguist进行翻译,可让无程式开发能力的翻译者亦能独自完成翻译。Qt附带的工具程式就能够自动抽取需要翻译的文字产生翻译档案。

多执行绪

Qt的执行绪支持是独立于平台的执行绪类别,采用讯号与槽机制,实现类型安全的执行绪间通讯。这使得它易于开发具可移植性的多执行绪Qt应用程式。并能充分利用多核架构,获得最佳运行性能,还能根据可用的处理器内核数自动调整使用的执行绪数。多执行绪程式设计也是一个执行耗时操作而不会冻结用户界面的有效典范。

语言绑定

除了C++外,Qt还为其它多种计算机语言提供了应用程序接口,您也可以使用这些语言开发Qt应用程序

Qt语言绑定
语言 名称 - 绑定描述 QtCore QtDesigner QtGui QtNetwork QtOpenGL QtSql QtScript QtSvg QtTest QtUiTools QtWebKit QtXml 开放原始码软件的授权 专有软件授权
Ada QtAda 1 1 1 0 1 1 0 0 0 1 0 1 GPL GMGPL + fee
C++ Qt – native C++ 1 1 1 1 1 1 1 1 1 1 1 1 LGPL LGPL or Proprietary + fee
C# & .NET Qyoto – See also Kimono for KDE 1 1 1 1 1 1 1 1 1 1 1 1
C# & .NET qt4dotnet LGPL LGPL
D语言 QtD
道语言 DaoQt LGPL LGPL
Haskell Qt Haskell
Harbour hbqt GPL 0
Java Qt Jambi 1 1 1 1 1 1 1 1 1 1 1 1 LGPL LGPL
Javascript(node.js) node-qt 仅有少数几个类 0 仅有少数几个类 0 0 0 0 0 仅有少数几个类 0 0 0 BSD License BSD License
Lisp CommonQt – Bindings for Common Lisp 1 1 1 1 1 1 1 1 1 1 1 1 BSD License BSD License
Lua lqt - Bindings 1 0 1 1 1 0 1 1 0 0 1 0 MIT MIT
Lua QtLua - Bindings and script engine LGPL LGPL
Pascal FreePascal Qt4
Perl PerlQt4 1 1 1 1 1 1 1 1 1 1 1 1 GPL 0
PHP PHP-Qt 1 1 1 1 1 1 1 1 1 1 1 1 LGPL LGPL
Python PyQt – has an associated text (ISBN 0132354187). 1 1 1 1 1 1 1 1 1 1 1 1 GPL 专有 + fee
Python PySide – from OpenBossa (a subsidiary of nokia). 1 1 1 1 1 1 1 1 1 1 LGPL LGPL
Python PythonQt LGPL LGPL
R qtbase 1 1 1 1 1 1 1 1 1 1 1 1 GPL 0
Ruby QtRuby 1 1 1 1 1 1 1 1 1 1 1 1 LGPL LGPL
Tcl qtcl GPL 0
语言 名称 - 绑定描述 QtCore QtDesigner QtGui QtNetwork QtOpenGL QtSql QtScript QtSvg QtTest QtUiTools QtWebKit QtXml 开放原始码软件的授权 专有软件授权

Qt的hello world

将下面的代码保存到Hello.cpp中

 #include <QtWidgets/QApplication> #include <QtWidgets/QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello, world!"); label.show(); return app.exec(); } 

编译与执行

  1. 新建一个文件夹,命名为Hello
  2. 将程式码Hello.cpp放入Hello文件夹
  3. 在Hello文件夹执行下列命令
    1.  qmake -project 
    2.  qmake 
    3.  make/gmake/nmake 
      这个取决于您的系统与编译器设置
  4. 执行./release/Hello(在Windows中是release\Hello.exe)

工具

Qt提供了一些命令列和图形工具,以方便和加速开发的过程。

  • Qt Creator:轻量级的Qt/C++ IDE开发环境。
  • qmake:跨平台构建工具,可简化跨不同平台进行项目开发的构建过程。
  • Qt Designer:界面设计师。可以用拖拽的方式将Widget排放在界面上,支援版面配置,支援信号与槽编辑。
  • Qt Assistant:Qt助手。Qt在线帮助文件查看工具。
  • Qt Liguist:翻译工具。读取翻译档案(如.ts、.po)并为翻译人员提供友好的翻译接口。
  • lupdate:从原始码文件或其他资源档案中提取需要翻译的字符串,并将之存入xml格式的.ts档案中。
  • lrelease:负责将.ts档案转化为程序使用的.qm档案。.qm档会去掉.ts档中所有的空白和未翻译的内容,并将存储格式压缩。
  • lconvert:用于翻译档案之间的格式转换。
  • QVFb:虚拟帧缓存设备,模拟framebuffer装置(尺寸、色深),还可以透过skin模拟硬件键盘的布局(包括特殊的按键),可以便捷在桌面系统机器上开发嵌入式程式
  • makeqpf:创建用于嵌入式设备的qpf格式。qpf是一种预先渲染的字体,直接保存成二进制内容,使用的时候可以用内存对映加载,从加载到绘制的过程不需要计算。
  • uic:User Interface Compiler。从用户界面的档案(.ui)生成C++代码。
  • rcc:Resource Compiler。rcc工具根据.qrc档案的内容将相关的资源在编译过程中嵌入到Qt应用程序。
  • qtconfig:基于X11的Qt的配置工具和在线帮助。
  • qconfig:Qt Embedded(Linux和Windows CE)配置工具。
  • qtdemo:Qt的实例和示范项目的加载器。
  • qt3to4:协助移植Qt 3程式到Qt 4的工具。
  • qdbusxml2cpp:QtDBus XML compiler。将xml格式的D-Bus接口描述转换成为C++原始码
  • D-Bus Viewer:可以检视D-Bus物件和信息的工具。
  • Qt Visual Studio Add-in:Visual Studio集成
  • Qt Eclipse Integration:Eclipse集成

Qt Solutions

Qt Solutions提供Qt额外的组件和工具,使Qt的开发更有效率。在Qt 4.5之后,Qt Solutions加入了LGPL的授权

  • 平台和特定行业的组件和工具
  • 整合Qt与特定第三方产品的组件和工具
  • 尖端的元件和新的工具也会被直接加入在Qt框架中发布

使用

使用Qt的UI环境

  • KDE Plasma Workspaces:著名的跨平台图型环境。
  • MeeGo:基于Linux的开源手机操作系统
  • Motorola A760:UI以Qt/Embedded建构
  • OPIE
  • Qt Extended Improved
  • Razor-qt:桌面环境
  • Symbian自第四版开始

视窗管理员

以下的视窗管理员,使用了Qt:

  • EggWM
  • integrity
  • KWin
  • qlwm

应用程式

一些出名的例子如下:

  • 3DSlicer, a free open source software for visualization and medical image computing
  • AcetoneISO:映像档挂载软件
  • Adobe Photoshop Album, an image organizing application
  • Arora:一款跨平台的开源网页浏览器
  • Autodesk MotionBuilder, professional 3D character animation software
  • Autodesk Maya, 3D建模和动画软件
  • Avidemux, a Free Software program designed for multi-purpose video editing and processing
  • Avogadro:进阶分子编辑器
  • BOUML,a free uml toolbox
  • chmcreator:开源的chm开发工具
  • CineFX:一款跨平台、开源、免费、影片剪辑,特效与合成套装
  • CoCoA, a software for computations in commutative algebra
  • Dash Express, an Internet-enabled personal navigation device
  • DAZ Studio, a 3D figure illustration/animation application
  • Doxygen:API文件产生器
  • EAGLE, tool for designing printed circuit boards (PCBs)
  • EiskaltDC++, a program that uses the Direct Connect protocol.
  • Emergent:神经网络模拟器。
  • FEKO, a software product for the simulation of electromagnetic fields
  • eva:Linux版QQ聊天软件。
  • FreeCAD, a free and open source 3D-Solid and general purpose design CAD/CAE
  • FreeMat:一个自由开源的数值计算环境和程式语言
  • Full Tilt Poker, one of the most popular online poker programs
  • Gadu-Gadu:即时通讯软件
  • Gambas, A free development environment based on a Basic interpreter
  • GoldenDict:一款开源的字典软件
  • Google地球(Google Earth):三维虚拟地图软件。
  • GNS:Cisco网络模拟器。
  • Guitar Pro 6, a tablature editor
  • 刺猬大作战:一个基于百战天虫的开源游戏。
  • Hydrogen, an advanced drum machine
  • ImageVis3D, a volume ray-casting application
  • Ipe:自由的向量图形编辑器
  • ISE Webpack, a freeware EDA tool for Windows and Linux developed by Xilinx
  • Kadu, a Polish instant messenger using the Gadu-Gadu protocol
  • KDELibs:一个许多KDE程式都使用的共享库,如AmarokK3bKDevelopKOffice等。
  • KeePassX, a multi-platform port of KeePass, an open source password manager for Microsoft Windows
  • Last.fm播放器:著名的互联网音乐社群网站的桌面用户端。
  • Launchy:一个开放源码的快捷启动器
  • LMMS:一个开放源码的音乐编辑软件
  • LyX:使用Qt作为界面的LaTeX软件。
  • Mathematica:Linux和Windows版本使用Qt作为GUI
  • Maxwell Render, a software package that aids in the production of photorealistic images from computer 3D model data
  • Mixxx:跨平台的开放源码DJ混音软件
  • MuseScore,一个WYSIWYG的乐谱编辑器
  • MythTV:开源的数位视讯录制软件。
  • Nuke, a node-based compositor
  • PDFedit:自由的PDF编辑器
  • PokerTH, an open source Texas hold 'em simulator
  • Psi:一款XMPP网络协定的即时通讯软件
  • qBittorrent:自由的BitTorrent P2P客户端
  • QCad:一个用于二维设计及绘图的CAD软件
  • Qjackctl, a tool for controlling the JACK Audio Connection Kit
  • QSvn, a GUI Subversion client for Linux, UNIX, Mac OS X and Windows
  • Opera:著名的网页浏览器。
  • Qt Creator, the free software cross-platform integrated development environment from Nokia
  • Qterm:跨平台的BBS软件。
  • Quantum GIS:自由的桌面GIS
  • Quassel IRC:跨平台的IRC客户端
  • QupZilla:跨平台的开放原始码的Webkit网页浏览器。
  • RealFlow, a fluid and dynamics simulator for the 3D industry
  • Recoll:桌面搜寻工具
  • Rosegarden, a free software digital audio workstation program
  • SciDAVis, a cross-platform plotting and data analysis program
  • Scribus:桌面排版软件。
  • Skype:一个使用人数众多的基于P2PVOIP聊天软件。
  • SMPlayer:跨平台多媒体播放器
  • Spotify, music streaming service.
  • Stellarium:一款天文学的自由软件
  • TeamSpeak:跨平台的音效通讯软件
  • Texmaker:一款跨平台的开放源码LaTeX编辑器
  • TeXworks, It is a graphical user interface to the typesetting system TeX.
  • Tlen.pl:波兰人发明的即时通讯客户端
  • TOra, a database administration tool
  • UMPlayer:基于Mplayer的美观多媒体播放器。
  • UniversalIndentGUI,an application which helps the user to beautify, reformat or indent various kinds of code.
  • Valknut, a program that uses the Direct Connect protocol
  • VirtualBox:虚拟机器软件。
  • VisIt:一个开源型交互式并行可视化与图形分析工具,用于查看科学数据。
  • VisTrails, a scientific workflow management and visualization system
  • VLC多媒体播放器:一个体积小巧、功能强大的开源媒体播放器。
  • VoxOx, a unified communications software.
  • WordPress, based on Qt for Maemo and Symbian
  • wpa supplicant, a free software implementation of an IEEE 802.11i
  • Xconfig:Linux的Kernel配置工具
  • YY语音:又名“歪歪语音”,是一个可以进行在线多人语音聊天和语音会议的免费软件。在中国大陆拥有庞大的用户群。
  • 咪咕音乐:咪咕音乐是中国移动倾力打造的正版音乐播放器
  • WPS Office:金山公司(Kingsoft)出品的办公软件,与微软Office兼容性良好,个人版免费。

相关文章

Qt
您可以在维基教科书中查找此百科条目的相关电子教程:
Qt
  • Qt Development Frameworks
  • Qt Quick
  • QML
  • Advanced Component Framework

书目

  • Summerfield, Mark, Advanced Qt Programming: Creating Great Software with C++ and Qt 4 1st, Addison-Wesley, 500, August 23, 2010, ISBN 978-0321635907 
  • Fitzek, Frank H. P.; Mikkonen, Tommi; Torp, Tony, Qt for Symbian 1st, Wiley, 160, May 17, 2010, ISBN 0470750103 
  • Blanchette, Jasmin; Summerfield, Mark, C++ GUI Programming with Qt 4 2nd, Prentice Hall, 752, February 14, 2008, ISBN 978-0132354165 
  • Summerfield, Mark, Rapid GUI Programming with Python and Qt 1st, Prentice Hall, 648, October 28, 2007, ISBN 978-0132354189 
  • Molkentin, Daniel, The Book of Qt 4: The Art of Building Qt Applications 1st, No Starch Press, 440, July 19, 2007, ISBN 978-1593271473 
  • Thelin, Johan, Foundations of Qt Development 1st, Apress, 528, August 3, 2007, ISBN 978-1590598313 
  • Dalheimer, Matthias, Programming with Qt 2nd, O'Reilly Media, 512, January 2002, ISBN 978-0596000646 
  • Ezust, Alan; Ezust, Paul, An Introduction to Design Patterns in C++ with Qt 4 1st, Prentice Hall, 656, September 10, 2006, ISBN 978-0131879058 

QT

... , segments, and intervals labeled. 分类和外部资源 所属专业 心脏内科 ICD-10 I45.8 ICD-9-CM 426.82 DiseasesDB 11104 eMedicine med/1983 MeSH D008133 长QT症又名长QT综合症,全称是先天性QT间期延长综合症,简称LQTS,是一种跟心律或心血管有关的心脏病。这一种病可能是先天的,也 ... 可能使患者死亡。 遗传 LQT1 LQT2 LQT3 LQ ...

Qt Extended Improved

... 版本 4.5.2(2009年6月28日) 内核类别 整块性核心 许可证 GPL 与 专用软件 官方网站 Qt Extended Improved Qt Extended Improved,一个自由软件专案,是Qt Extended的分支。它的目标在于针对嵌入式Linux系统,提供一个应用平台,可用于智慧手机、个人数位助理、视频投影机等产品。 它源起于2009年,因Qt Software宣布不再开发Qt Extended,自由软件 ...

Qt Creator

... 程序。它包括一个可视化侦错工具和整合的 GUI 版面和外形设计师。这个编辑器的功能包括语法高亮度显示和自动完成。 Qt Creator 在 Linux 上,使用 GCC 的 C++ 编译器。在 Windows,默认安装它可以使用 MinGW 或 MSVC。从原始码编译时,也可以使用 cdb。 于2008年10月的Qt Developer Days宣布这项计画(代号为 Greenhouse)。 该项目的技术预览版在2008年10月30日公布。 最后在2009年3 ...

Qt发展框架

... Frameworks 220px 公司类型 私人公司(诺基亚的子公司) 成立 1994年3月4日 创办人 Eirik Chambe-Eng Haavard Nord 总部地点 挪威奥斯陆 产业 计算机软件 产品 Qt 网址 qt.nokia.com Qt发展框架(Qt Development Frameworks)是挪威的一家电脑软件开发公司,前身是Trolltech(公司中文名是“奇趣科技”)。 产品 ... 的中国子公司-奇趣科技(北京 ...

Qt Extended

... 家族 Linux 运作状态 开发中止 最新版本 4.4.3(2008年3月5日) 内核类别 Monolithic kernel 许可证 GPL 与 proprietary 官方网站 [1] Qt Extended(2008年9月30日前称Qtopia)是一个软件平台,主要用于采用嵌入式Linux系统(embedded Linux-based system)的电子手帐或移动电话。Qt Extended的主要用途,在于提供一个跨平台的软件平台,以便软件开发者可以为系统提供更 ...

Qt Jambi

... 版本 4.8.6(2015年1月31日(2015-01-31)) 编程语言 Java 操作系统 跨平台 许可协议 LGPL 网站 http://qt-jambi.org Qt Jambi是跨平台的应用程式框架Qt的java绑定版本。对Java开发人员来说可以使用Java标准版和Java企业版进行开发,并且对C++程序员也提供 ... 较于Swing的Listener架构需要实作一堆接口,接口的限制造成了有时需要透过中介的物件来将事件交给适当的物件处理 Qt ...

D-Bus

... 作为规范的参考实作。这个函式库常与D-Bus本身混淆。也存在着其他的D-Bus实作,像是GDBus (GNOME),QtDBus (Qt/KDE),dbus-java以及sd-bus(systemd的一部份)。 概观 D-Bus可用于同一个桌面会话中不同桌面应用软件间的通讯,能整合桌面 ... ,后者在KDE 4中取代了前者。D-Bus的实作支援大多数的POSIX作业系统,也有一个Windows的移植。它也在Qt 4、GNOME及Xfce中使用。在GNOME中,它已逐渐 ...

Python

... 第三方库,提供了矩阵,线性代数,傅立叶变换等等的解决方案。 GUI PyGtk 基于Python的GUI程序开发GTK+库。 PyQt 用于Python的QT开发库。 WxPython Python下的GUI编程框架,与MFC的架构相似。 其它 BeautifulSoup 基于Python的HTML/XML解析器,简单易用 ...

移动浏览器

... Palm公司 0否 NetFront 私有 安装于新的Palm手机Treos和PDA上 Internet Explorer Mobile Microsoft 0否 - 私有 - Iris Browser Research In Motion ? WebKit ? Linux/ Qt和Windows Mobile Myriad Browser (Previously Openwave Mobile Browser) Myriad Group 0否 Fugu(Next version ...