欢迎来到天天文库
浏览记录
ID:36316328
大小:919.50 KB
页数:29页
时间:2019-05-09
《qt入门教程-cqtgui编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++QtGUI编程基础戴洪均2013-5-30主要内容起源与发展1基本技术2参考文献3起源与发展大事记1版本与授权2开发平台与编译器3起源起源与发展简介Qt是挪威Trolltech(奇趣科技)公司开发的跨平台C++图形用户界面应用程序开发工具。宗旨它的设计目标是:“一次编写,随处编译”。只需要编写一次代码,就可以在不同的系统平台上编译并生成图形用户界面应用程序。起源起源与发展创始人Qt最初是由HaavardNord(哈瓦德,奇趣CEO)和EirikChambe-Eng(埃里克,奇趣总裁)开发的。他们都在挪威科技学院获得计算机硕士学
2、位。Qt框架首度为公众可用是在1995年5月。1995年,与挪威的Metis公司签订了第一份基于Qt的软件开发合同。起源起源与发展HaavardNordEirikChambe-Eng大事记起源与发展1990年Haavard和Eirik因为一个超声波图像方面的C++数据库系统而聚在一起工作。这个系统需要一个能在Unix,Macintosh和Windows上都能运行的图形用户界面。1991年他们合作设计编写了之后成为Qt的那些类。在随后一年,Eirik提出了信号-槽机制。1993年开发了Qt的第一个图形内核程序,并用它们实现了一些窗口部
3、件。大事记起源与发展1994年创立“QuasarTechnologies”公司,后来改名为“Trolltech”(奇趣科技)。1995年与挪威的Metis公司签订了第一份基于Qt的软件开发合同。1996年在MatthiasEttrich(马蒂亚斯)的带领下KDE项目创立。之后一年,Matthias决定用Qt开发KDE,使得Qt成为Linux环境下开发C++图形用户界面的事实标准。大事记起源与发展KDE与MatthiasEttrichKDE,(KDesktopEnviroment)K桌面环境的缩写。它是一个运行于Linux、Unix以
4、及FreeBSD等操作系统上的桌面图形界面系统。整个系统都是采用奇趣公司的Qt程序库开发的。项目的发起人是马蒂亚斯·埃特里希。MatthiasEttrich大事记起源与发展2008年Nokia从Trolltech公司收购Qt。2011年Digia(芬兰IT服务公司)从Nokia收购了Qt的商业版权。Nokia负责的Qt-on-Mobile和QtCommercial由Digia接手。2012年Nokia宣布将Qt软件业务出售给Digia。版本与授权起源与发展1996年,Qt1.0正式发布1999年,Qt2.0发布2001年,Qt3.0
5、发布2005年,Qt4.0发布包含大约500多个类和9000多个函数。Qt4比以往的任何一个版本都要全面和丰富。2012年12月,Qt5Alpha发布。与Qt4相比,Qt5在内部架构上发生了很大的变化。最新官方发布版本是Qt5.0.2,最新开发发布版本是Qt5.1.0-beta1。开源版本(GPL协议)和商业版本开发平台与编译器起源与发展Qt4.x支持的平台桌面系统Windows,Unix,Linux/X11,MacOSX嵌入式系统EmbeddedLinux移动终端系统Symbian,Qt5.0.x支持Android的开发。Qt5.
6、1Beta支持IOS和Android应用程序的开发。Windows:MSVCLinux/X11:GCCMacOSX:Clang编译器图1基本技术面向对象1信号与槽2事件系统3常用类库4面向对象基本技术Qt是C++的扩展Qt与C++不同的特征是用C++开发出来的。QtCore和QtGuiQtCore和QtGui是Qt的两个核心组成模块,每个模块分别包含大量的Qt类。QtCore包含的类实现了Qt的非图形用户界面(non-GUI)功能,所有其他的Qt模块都依赖于此模块。QtGui在QtCore的基础上实现了Qt的图形用户界面功能,定义了
7、所有图形用户界面(GUI)类。面向对象基本技术Qt独有的特性:对象间无缝通信机制:信号和槽技术(signal-slot)强大的事件和事件滤波器(eventsandeventfilters)可查询和设计的对象属性(objectproperties)层次化的可查询对象树(objecttrees)间隔驱动的定时器(intervaldriventimers)智能指针(QPointers)国际化(internatioanlization)面向对象基本技术Qt独有特性的实现一部分是通过Qt元对象系统(Meta-ObjectSystem)和元对象
8、编译器(Meta-ObjectCompiler)实现的。另一部分是通过继承QObject类用C++实现的。元对象系统和元对象编译器是Qt对C++的扩充。用纯C++实现,能使Qt更适合于组件GUI编程。信号与槽(signal-slot)
此文档下载收益归作者所有