qt 解释

qt

编辑

Qt[1]是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta
Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP

Qt是1991年奇趣科技开发的一个跨平台C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt
X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。

中文名
Qt
研发时间
1991年
研发公司
奇趣科技
作    用
跨平台C++图形用户界面应用程序
面向对象的框架

目录

  1. 1历史发展
  2. 2平台支持
  3. 3Qt Creator
  1. 4优势
  2. 5安装
  3. 6应用程序
  1. 7发行版本
  2. 8版本

历史发展

编辑

* 1991–Haavard Nord和Eirik Chambe-Eng开始开发将会支持X11和Windows的Qt

* 1994–奇趣科技公司成立

* 1996–KDE项目由MatthiasEttrich创建(Matthias现为诺基亚Qt发展框架工作)

* 1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到 Qt 上

* 1998 Apr 08 KDE Free Qt 基金会成立

* 1998 Jul 09 Qt 1.40 发布

* 1998 Jul 12 KDE 1.0 发布

* 1999 Mar 04QPL1.0 发布

* 1999 Mar 12 Qt 1.44 发布

* 1999 Jun 25 Qt 2.0 发布

* 1999 Sep 13 KDE 1.1.2 发布

* 2000 Mar 20 嵌入式Qt 发布

* 2000 Sep 06 Qt 2.2 发布

* 2000 Oct 05 Qt 2.2.1 发布

* 2000 Oct 30 Qt/Embedded 开始使用GPL宣言

* 2000 Sep 04 Qt free edition 开始使用 GPL

* 2008 Nokia从Trolltech公司收购Qt, 并增加LGPL的授权模式

* 2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile, Qt Commercial由Digia负责

*根据最新消息,NOKIA已经停止Meltemi系统开发,QT部门被解散

* 2012 Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia。

* 2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。

* 2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。

* 2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。

*2014年5月20日,Digia公司Qt开发团队宣布Qt 5.3正式版发布。

平台支持

编辑

Qt支持下述平台:

MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008、win10

Unix/X11 -Linux、SunSolarisHP-UXCompaqTru64
UNIX、IBMAIX、SGI
IRIXFreeBSDBSD/OS和其它很多X11平台

Macintosh -Mac OS X

Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE

Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo

haiku-os

Qt Creator

编辑

在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的Qt Creator也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。

Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境
(IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。[2]

Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:

一个高级的C++代码编辑器 上下文感知帮助系统 可视化调试器 源代码管理 项目和构建管理工具

Qt Creator在LGPL2.1版本授权下有效,并且接受代码贡献。

Qt Linguist

Qt Linguist被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。

Linguist工具从4.5开始可以支持Gettext的PO文件格式。

优势

编辑

优良的跨平台特性:

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 等等。

面向对象

Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。

丰富的 API

Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。

支持 2D/3D 图形渲染,支持 OpenGL

大量的开发文档

XML 支持。

安装

编辑

在Debian系列Linux系统下,比如Ubuntu系统下

sudo apt-get install qt4-dev-tools #开发包

Qt

sudo apt-get install qtcreator #IDE

sudo apt-get install qt4-doc #开发帮助文档

sudo apt-get install qt4-qtconfig #配置工具

sudo apt-get install qt4-demos #DEMO源码

或者直接从Qt官方网站下载.run格式的安装包,Windows下直接双击安装,Linux下进入安装包所在目录后用 ./ 安装。

应用程序

编辑

一些著名的例子如下:

3DSlicer, a free open source software for visualization and medical image computing

AcetoneISO:镜像文件挂载软件

Adobe Photoshop Album,一个图像组织应用程序 [35]

Arora:一款跨平台的开源网页浏览器

Autodesk MotionBuilder, 三维角色动画软件

Autodesk Maya, 3D建模和动画软件

Avidemux, a Free Software program designed for multi-purpose video editing and processing

Avogadro:高级分子编辑器

Battle.net暴雪公司开发的游戏对战平台

BOUML,一个免费的统一建模语言工具箱

Bitcoin:比特币

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

DoxygenAPI文件产生器

EAGLE, tool for designing printed circuit boards(PCBs)

EiskaltDC++, a program that uses the Direct Connect protocol.

Emergent:神经网络模拟器。

, 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

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客户端

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.

TOra, a database administration tool[36]

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配置工具

咪咕音乐:咪咕音乐是中国移动倾力打造的正版音乐播放器

WPS Office:金山软件公司推出的办公软件

极品飞车:EA公司出品的著名赛车类游戏

发行版本

编辑

Qt 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司于1995年底出品。

Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员 就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出。

2008年1月31日,Nokia公司宣布通过公开竞购的方式收购TrollTech公司,旗下包括Qt在内的技术都归入Nokia旗下。并且Nokia针对自己的移动设备平台规划的需要,将Qt按不同的版本发行。

Qt商业版:提供给商业软件开发。它们提供传统商业软件发行版并且提供在协议有效期内的免费升级和技术支持服务。

Qt开源版:仅仅为了开发自由和开放源码软件, 提供了和商业版本同样的功能。GNU通用公共许可证下,它是免费的。

2009年3月发布的Qt 4.5 起,诺基亚为Qt增添开源LGPL授权选择。

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

Qt专业版和企业版是Qt的商业版本。

只有你购买了专业版或企业版,你才能够编写商业的,私人的或收费的软件。如果你购买了这些商业版本,你也可以获得技术支持和升级服务。Qt为微软公司的Windows操作系统只提供了专业版和企业版。


专业版/企业版比较表

专业版

企业版

Qt的基本模块(工具、核心、窗口部件、对话框)

与平台无关的Qt图形用户界面工具包和应用类


X

X

Qt设计器

可视化的Qt图形用户界面的生成器


X

X

图标视图模块

几套图形用户交互操作的可视化效果。


X

X

工作区模块

多文档界面(MDI)支持


X

X

OpenGL 三维图形模块

在Qt中集成了OpenGL

 
X

网络模块

一些套接字,TCP、FTP和异步DNS查询并且与平台无关的类。

 
X

画布模块

为可视化效果,图表和其它而优化的二维图形领域。

 
X

表格模块

灵活的可编辑的表格/电子表格

 
X

XML模块

通过SAX接口和DOM Level 1很好且已经成形的XML解析器。

 
X

SQL模块

SQL数据库访问类。

 
X

版本

编辑

2009年12月1日,诺基亚发布了Qt 4.6。

Qt 4.6 首次包含了对Symbian平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹) 和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5 的支持已进入研发阶段,其技术预览版第二版于2009年12月1日发布。

Qt 对 X11 、X86 、ARM 及 Symbian 的支持首次为开发人员创造了使用同一代码库同时针对这多个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。

Qt Mobility项目下的全新Qt API技术预览版也同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。

性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。

2013年7月3日,Qt 5.1 正式版发布了,这是 Qt 5.0 发布后经过 6 个月的开发而测试的新版本。主要是修复 5.0 中的 bug,但该版本还包含了很多新特性和一些小改进,详细内容请看 Qt 5.1 launch page.

Qt 5.1 绑定了 Qt Creator 2.7.2,可通过一个新的在线安装器来安装,可自动的无缝的更新,同时也提供了一个新版本的 Visual Studio 插件。

此外 Qt 5.1 还增加了很多新模块,大大扩展了 Qt 5.0 的功能。此外 5.1 版本还大大加强对不同平台的支持,包括Visual Studio 2012,以及对移动平台的支持。提供了 Qt for Android 和 iOS 的预览版。2011年02月22日,Qt for Android(Alpha)
发布。Qt for IOS发布时间大约是2013年年底。[3]

2014年4月,在Qt Creator 3.1 Beta面世一个多月之后,终于迎来了其正式版。全新的Qt Creator 3.1.0主要包括Bug修复与系统改进,同时,还添加了一些新的功能特性。

集成基于Clang的C/C++代码模块,完全支持iOS、QML调试和性能分析,新增WinRT插件,废弃了对于没有Python接口的GDB版本的调试支持,新增Beautifier插件,Android支持调整

时间: 2024-10-05 23:45:59

qt 解释的相关文章

Qt Quick之StackView具体解释(1)

Qt Quick中有个StackView.我在<Qt Quick核心编程>一书中没有讲到.近期有人问起,趁机学习了一下,把它的基本使用方法记录下来. 我准备分两次来讲.第一次讲主要的使用方法.包含StackView的适用场景.基本属性和方法的使用方法.第二次讲一些略微复杂点的东西,比方被StackView管理的view的生命周期.delegate定制.查找等. 演示样例会用到动态创建组建,能够參考我之前的文章"Qt Quick 组件与对象动态创建具体解释".也会用到锚布局.

Qt Quick 组件和动态创建的对象具体的解释

在<Qt Quick 事件处理之信号与槽>一文中介绍自己定义信号时,举了一个简单的样例.定义了一个颜色选择组件,当用户在组建内点击鼠标时,该组件会发出一个携带颜色值的信号,当时我使用 Connections 对象连接到组件的 colorPicked 信号,改变文本的颜色. 当时用到的 Component . Loader 两个特性,一直没来得及介绍,可能非常多人都还在雾里看花呢. 这次呢.我们就来仔细致细地把他们讲清楚. 版权全部 foruok ,转载请注明出处:http://blog.csd

Qt Quick 之 QML 与 C++ 混合编程具体解释

Qt Quick 技术的引入.使得你能够高速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的.也有非常多局限性,原来 Qt 的一些技术,比方低阶的网络编程如 QTcpSocket ,多线程,又如 XML 文档处理类库 QXmlStreamReader / QXmlStreamWriter 等等,在 QML 中要么不可用,要么用起来不方便,所以呢,非常多时候我们是会基于这样的原则来混合使用 QML 和 C++: QML 构建界面. C++ 实现非界面的业务逻辑和复杂运算.

Qt之美(一):d指针/p指针详解(解释二进制兼容,以及没有D指针就会崩溃的例子。有了D指针,所使用的对象大小永远不会改变,它就是该指针的大小。这个指针就被称作D指针)good

Translated  by  mznewfacer   2011.11.16 首先,看了Xizhi Zhu 的这篇Qt之美(一):D指针/私有实现,对于很多批评不美的同路人,暂且不去评论,只是想支持一下Xizhi Zhu,在引用一下Jerry Sun的话,“C++需要宏定义就像需要设计模式一样.也许你不知道,宏是图灵完全(turing complete)的,至少LISP下是这样,C/C++需要宏,几乎所有重要的C/C++库都需要和依赖宏.这些都超过咱们的想象,宏能带给我们所谓语法糖(Synta

Qt中文乱码问题(比较清楚,同一个二进制串被解释成不同的语言)

文章来源:http://blog.csdn.net/brave_heart_lxl/article/details/7186631 以下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错: 首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString. 很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四

qt的资源替换搜索QDir具体解释

QDir对跨平台的文件夹操作提供了非常多的便利,为了更加方便的提供全局资源的查找,QDir提供了搜索路径替换功能,攻克了资源搜索不便的问题,也能提高文件查找的效率. QDir通过已知的路径前缀去搜索并定位文件,搜索路径添加是有序的.从第一个设置的搜索路径開始,是不是认为和cocos2d的路径搜索很相似呢. 见例如以下QT的原版样例 QDir::setSearchPaths("icons", QStringList(QDir::homePath() + "/images&quo

Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)

转自:http://www.stardrad.com/blog/qt-5%E7%A8%8B%E5%BA%8F%E5%9C%A8windows%E4%B8%8A%E7%9A%84%E5%8F%91%E5%B8%83/ http://blog.163.com/[email protected]/blog/static/1582209320132291718389/ 最近做了个qt的程序,但是发布程序比较困难,因为qt5有着比较多的dll,如下两篇详述了qt dll依赖库,以及如何查询自己工程所用的d

Why Does Qt Use Moc for Signals and Slots(QT官方的解释:GUI可以是动态的)

GUIs are Dynamic C++ is a standarized, powerful and elaborate general-purpose language. It's the only language that is exploited on such a wide range of software projects, spanning every kind of application from entire operating systems, database ser

qt 之 TCP 通信代码及解释

服务器: #include "server.h" #include "ui_server.h" Server::Server(QWidget *parent) :     QWidget(parent),     ui(new Ui::Server) {     m_tcpServer = new QTcpServer(this);     //注意,这里的变量是在.h文件中声明的,是一个指针,在头文件中应该包含QTcpServer 这个类,而且在工程文件中应该加入