Qt
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() |
![]() | |
![]() 使用Qt Designer做GUI设计 | |
开发者 | |
---|---|
当前版本 |
|
原始码库 | |
编程语言 | C++ |
操作系统 | 跨平台 |
类型 | 应用程式框架 |
许可协议 | LGPL、GPL、商业许可[2] |
网站 | www |
Qt(/ˈkjuːt/,发音同“cute”[5][6][7])是一个跨平台的C++应用程式开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和伺服器。Qt被用于OPIE、Skype、VLC media player、Adobe Photoshop Elements、VirtualBox与Mathematica[8]以及被Autodesk [9][10]、欧洲太空总署[11]、梦工厂[12][13]、Google、HP[14]、KDE、卢卡斯影业[15]、西门子公司[16]、沃尔沃集团[17], 华特迪士尼动画制作公司[18]、三星集团[19]、飞利浦[20]、Panasonic [21]所使用。
它是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年5月22日 | Qt 4.8.2 |
2012年9月13日 | Qt 4.8.3 |
2012年12月19日 | Qt 5.0 |
2013年1月31日 | Qt 5.0.1 |
2013年4月10日 | Qt 5.0.2 |
2013年7月3日 | Qt 5.1 |
2013年8月28日 | Qt 5.1.1 |
2013年12月12日 | Qt 5.2 |
2014年5月20日 | Qt 5.3 |
2014年12月10日 | Qt 5.4 |
2015年7月1日 | Qt 5.5 |
2016年3月16日 | Qt 5.6 |
2016年6月16日 | Qt 5.7 |
2017年1月23日 | Qt 5.8 |
2017年5月31日 | Qt 5.9 |
2017年11月30日 | Qt 5.10 |
2018年5月22日 | Qt 5.11 |
2019年1月31日 | Qt 5.12 |
2019年6月19日 | Qt 5.13 |
2019年12月12日 | Qt 5.14 |
2020年5月26日 | Qt 5.15 |
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[22]。
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应用到Android、iOS及Windows 8平台上。[23]
支持平台
使用Qt开发的软件,相同的代码可以在任何支持的平台上编译与执行,而不需要修改原始码。会自动依平台的不同,表现平台特有的图形界面风格。
- Linux/X11:用于X Window System(如Solaris、AIX、HP-UX、Linux、BSD)。支持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。[24][25]
外部移植
自从诺基亚开放了Qt的原始码给社群后,Gitorious上各种移植纷纷出现。下面是其中一部分:
- Qt for OpenSolaris –用于OpenSolaris[26]
- Qt for Haiku –用于Haiku OS[27]
- Qt for OS/2 –仍然不完整的OS/2 eCS platform移植。[28]
- Qt-iPhone –用于iPhone的实验中产品。[29]
- Android-Lighthouse –用于Android的实验中产品。[30]
- Qt for webOS –用于Palm Pre上webOS的实验中产品。[31] [32]
- Qt for Amazon Kindle DX –用于Amazon Kindle DX的实验中产品。[33]
授权模式
Qt开放原始码,并且提供自由软件的用户协议。使得它可以被广泛地应用在各平台上的开放原始码软件开发中。
Qt提供三种授权方式。三种授权方式的功能、性能都没有区别,仅在于授权协议的不同。LGPL和GPL是免费发布,商业版则需收取授权费。[34]:
- 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—将数据库集成至应用程式。支持所有主要的数据库驱动包括ODBC、MySQL、PSQL、SQLite、ibase、Oracle、Sybase、DB2。
- QtSvg—支持SVG格式
- QtWebKit—集成WebKit,提供了HTML浏览器引擎,便于在原生应用程式中嵌入网络内容和服务。
- QtXml—提供了XML文档的阅读器和编写器、支持SAX和DOM。
- QtXmlPatternsl—提供了XQuery和XPath引擎支持。
- Phonon—集成Phonon,支持跨平台应用程式播放音频和视频内容。Qt5开始不支持Phonon。
- Qt3Support—模块提供兼容Qt 3.х.х版本的程序库
- QtDeclarative [35] - 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组件都是一个widget,widget还可以作为容器,在其内包含其他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应用程式。
语言 | 名称 - 绑定描述 | QtCore | QtDesigner | QtGui | QtNetwork | QtOpenGL | QtSql | QtScript | QtSvg | QtTest | QtUiTools | QtWebKit | QtXml | 开放原始码软件的许可 | 专有软件的许可 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ada | QtAda | 是 | 是 | 是 | 否[36] | 是 | 是 | 否 | 否 | 否 | 是 | 否 | 是 | GNU GPL | GMGPL + fee |
C++ | Qt – native C++ | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | LGPL | LGPL or Proprietary + fee |
C# & .NET | Qyoto – See also Kimono for KDE | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ||
C# & .NET | qt4dotnet(页面存档备份,存于互联网档案馆) | LGPL | LGPL | ||||||||||||
D语言 | QtD(页面存档备份,存于互联网档案馆) | ||||||||||||||
道语言 | DaoQt(页面存档备份,存于互联网档案馆) | LGPL | LGPL | ||||||||||||
Haskell | Qt Haskell | ||||||||||||||
Harbour | hbqt | GNU GPL | 否 | ||||||||||||
Java | Qt Jambi | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | LGPL | LGPL |
Javascript(node.js) | node-qt(页面存档备份,存于互联网档案馆) | 仅有少数几个类 | 否 | 仅有少数几个类 | 否 | 否 | 否 | 否 | 否 | 仅有少数几个类 | 否 | 否 | 否 | BSD License | BSD License |
Lisp | CommonQt(页面存档备份,存于互联网档案馆) – Bindings for Common Lisp | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | BSD License | BSD License |
Lua | lqt(页面存档备份,存于互联网档案馆) - Bindings | 是 | 否[37] | 是 | 是 | 是 | 否 | 是 | 是 | 否 | 否 | 是 | 否 | MIT | MIT |
Lua | QtLua(页面存档备份,存于互联网档案馆) - Bindings and script engine | LGPL | LGPL | ||||||||||||
Pascal | FreePascal Qt4(页面存档备份,存于互联网档案馆) | ||||||||||||||
Perl | PerlQt4(页面存档备份,存于互联网档案馆) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | GNU GPL | 否 |
PHP | PHP-Qt | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | LGPL | LGPL |
Python | PyQt – has an associated text (ISBN 0132354187). | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | GNU GPL | 专有 + fee |
Python | PySide – from OpenBossa (a subsidiary of nokia). | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | LGPL | LGPL | ||
Python | PythonQt(页面存档备份,存于互联网档案馆) | LGPL | LGPL | ||||||||||||
R | qtbase(页面存档备份,存于互联网档案馆) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | GPL | 否 |
Ruby | QtRuby | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | LGPL | LGPL |
Tcl | qtcl(页面存档备份,存于互联网档案馆) | GNU GPL | 否 | ||||||||||||
语言 | 名称 - 绑定描述 | 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();
}
编译与执行
- 新建一个文件夹,命名为Hello
- 将代码Hello.cpp放入Hello文件夹
- 在Hello文件夹执行下列命令
qmake -project
qmake
- 这个取决于您的系统与编译器设置
make/gmake/nmake
- 执行./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:桌面环境[38]
- Symbian自第四版开始
窗口管理器
以下的窗口管理器,使用了Qt:
应用程式
一些出名的例子如下:
- 3DSlicer, a free open source software for visualization and medical image computing
- AcetoneISO:映像档挂载软件
- Adobe Photoshop Album, an image organizing application[40]
- 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程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等。
- 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:一个使用人数众多的基于P2P的VOIP聊天软件。
- 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[41]
- 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语音:又名“歪歪语音”,是一个可以进行在线多人语音聊天和语音会议的免费软件。在中国大陆拥有庞大的用户群。
- 咪咕音乐:咪咕音乐是中国移动倾力打造的正版音乐播放器[42]
- WPS Office:金山公司(Kingsoft)出品的办公软件,与微软Office兼容性良好,个人版免费。
参见
书目
- Summerfield, Mark, Advanced Qt Programming: Creating Great Software with C++ and Qt 4 1st, Addison-Wesley: 500, August 23, 2010 [2010-06-05], ISBN 978-0321635907, (原始内容存档于2010-05-25)
- Fitzek, Frank H. P.; Mikkonen, Tommi; Torp, Tony, Qt for Symbian 1st, Wiley: 160, May 17, 2010 [2010年1月30日], ISBN 0470750103, (原始内容存档于2009年12月19日)
- Blanchette, Jasmin; Summerfield, Mark, C++ GUI Programming with Qt 4 2nd, Prentice Hall: 752, February 14, 2008 [2010-01-30], ISBN 978-0132354165, (原始内容存档于2010-12-03)
- Summerfield, Mark, Rapid GUI Programming with Python and Qt 1st, Prentice Hall: 648, October 28, 2007 [2010-06-05], ISBN 978-0132354189, (原始内容存档于2009-03-31)
- Molkentin, Daniel, The Book of Qt 4: The Art of Building Qt Applications 1st, No Starch Press: 440, July 19, 2007 [2010-01-30], ISBN 978-1593271473, (原始内容存档于2010-02-11)
- Thelin, Johan, Foundations of Qt Development 1st, Apress: 528, August 3, 2007 [2010-01-30], ISBN 978-1590598313, (原始内容存档于2010-01-02)
- Dalheimer, Matthias, Programming with Qt 2nd, O'Reilly Media: 512, January 2002 [2010-01-30], ISBN 978-0596000646, (原始内容存档于2010-02-05)
- Ezust, Alan; Ezust, Paul, An Introduction to Design Patterns in C++ with Qt 4 1st, Prentice Hall: 656, September 10, 2006 [2010-01-30], ISBN 978-0131879058, (原始内容存档于2008-04-22)
参考文献
- ^ Qt 6.7.2 Released. 2024年6月19日 [2024年6月19日] (英语).
- ^ Qt Licensing. [2010-02-19]. (原始内容存档于2009-08-09).
- ^ Qt 6.0.2 Released. 2021-03-03 [2021-03-03].
- ^ [Development] Qt 6.1.0 Beta released. 2021-03-02 [2021-03-02].
- ^ Qt - About Us. [2016-04-23]. (原始内容存档于2016-04-12).
- ^ That Smartphone Is So Qt. Ashlee Vance. 2010-02-16 [2010-02-19]. (原始内容存档于2011-10-07).
- ^ The Qt 4 Dance (video). [2015-09-07]. (原始内容存档于2015-12-01).
- ^ Qt delivered advanced, cross-platform C++ GUI for Mathematica’s development team. (原始内容存档于2012-02-03).
- ^ Qt in Autodesk. [2010-09-26]. (原始内容存档于2011-07-23).
- ^ Qt in visual effects. [2010-09-26]. (原始内容存档于2011-07-23).
- ^ Qt in the European Space Agency. [2010-09-26]. (原始内容存档于2011-07-23).
- ^ Behind the Scenes at DreamWorks Animation: Making the Apps that Make the Movies. [2011-10-30]. (原始内容存档于2012-02-03).
- ^ UI & System Design Challenges for the NxG Lighting Tool. [2011-10-30]. (原始内容存档于2012-02-03).
- ^ Developing Innovative Desktop and Embedded HP Products with Qt. [2011-10-30]. (原始内容存档于2012-02-03).
- ^ Lucasfilm Entertainment Company Ltd.. [2011-10-30]. (原始内容存档于2012-02-03).
- ^ Qt helped Siemens deliver a C++ development platform for manufacturing software GUIs. [2011-03-05]. (原始内容存档于2011-07-14).
- ^ Volvo Mobility Systems. [2011-03-05]. (原始内容存档于2012-02-03).
- ^ Qt helped Walt Disney reduce development time spent on its cross-platform feature film production application. [2011-03-05]. (原始内容存档于2012-02-03).
- ^ Qt in Home Media. [2010-09-26]. (原始内容存档于2011-07-23).
- ^ Qt in IP Communications. [2010-09-26]. (原始内容存档于2011-07-23).
- ^ Panasonic selects Qt for HD video system. [2010-09-26]. (原始内容存档于2011-07-23).
- ^ A Brief History of Qt. [2007-12-20]. (原始内容存档于2008-06-30).
- ^ Digia完成收购诺基亚已交出Qt全部业务_科技频道_凤凰网. [2012-08-18]. (原始内容存档于2012-09-19).
- ^ Getting started with Lighthouse. [17 December 2010]. (原始内容存档于2010年10月25日).
- ^ Kristian Høgsberg. Add wayland lighthouse plugin. 25 January 2011 [2011年10月30日]. (原始内容存档于2013年5月14日).
- ^ KDE on OpenSolaris. [2010-03-21]. (原始内容存档于2010-02-20).
- ^ 存档副本. [2010-01-30]. (原始内容存档于2010-03-07).
- ^ Qt 4 Application and UI Framework for eCS. [2010-01-30]. (原始内容存档于2010-01-19).
- ^ 存档副本. [2010-01-30]. (原始内容存档于2010-02-06).
- ^ 存档副本. [2010-01-30]. (原始内容存档于2010-01-26).
- ^ Qt webOS port[永久失效链接]
- ^ Blog: Qt on the Palm Pre. [2010-03-21]. (原始内容存档于2010-03-11).
- ^ Blog: Qt on Amazon Kindle DX. [2010-03-21]. (原始内容存档于2010-03-06).
- ^ 存档副本. [2009-03-31]. (原始内容存档于2009-03-26).
- ^ 存档副本. [2010-09-26]. (原始内容存档于2010-03-15).
- ^ 存档副本. [2013-04-26]. (原始内容存档于2012-07-23). Supported Qt modules in QtAda
- ^ [1] (页面存档备份,存于互联网档案馆) Supported Qt modules in lqt
- ^ Razor-qt Project.
- ^ Egg Window Manager. [2011-10-30]. (原始内容存档于2011-11-22).
- ^ Qt Software—Adobe Photoshop Elements Album. [2009-12-27]. (原始内容存档于2009-07-20).
- ^ TOra uses the Qt library. [2009-12-27]. (原始内容存档于2009-07-01).
- ^ Qt为中国移动音乐客户端提供多平台支持. [2011-03-08]. (原始内容存档于2011-01-05).
外部链接
|
|
|