Qt的简单介绍,发展和由来

一.Qt的介绍

  1. Qt是图形用户界面程序框架,也可以称作Qt库,能做界面的还有MFC(只能在windows下使用),GTK+

  2. Qt的由来和发展

     1. Qt的历史:

          Qt是1991年奇趣科技公司(2008 年 6 月被诺基亚收购)开发的一个跨平台的C++图形用户界面应用程序框架。

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

     2. Qt的发展: 

          1998 Jul 09 Qt 1.40 发布 
          1998 Jul 12 KDE 1.0 发布 
          1999 Mar 04 QPL 1.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 

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

          2012,Digia公司从诺基亚手里收购了全部的Qt业务和知识产权,成为Qt商业授权的所有者,2014年成立子公司The Qt Company进一步开发和拓展Qt技术。

          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很容易扩展,并且允许真正地组件编程。

          基本上,Qt 同 X Window (linux的图形界面系统)上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西

  3. 为什么选择Qt

    以下是Qt的优点:

          Qt的优点:

            1.面向对象

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

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

            3.大量的开发文档

            4.XML 支持。

            5.跨平台

                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等

            6.网络支持

            7.数据库支持

            8.提供了类似于C++的STL

            9.丰富的应用程序接口:

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

 

二.Qt环境与工具

  1. Qt的工具

    a.Qt助手: 详细说明了Qt框架中的每一个类,函数,宏等,是开发的必备工具,在终端可以使用assitant来开启

    b.构造器: 负责把源码文件,头文件构建成一个Qt工程(qmake -project),再用qmake 生成Makefile文件,接着make

    c.Qt设计器(设计师):以画图的方式来进行设计界面,设计出的界面是没有功能的,如果需要完成相应的功能,还需要与代码进行结合(界面文件可以转换成源码)

    d.界面编译器: 负责把以.ui结尾的界面文件生成对应的代码

    e.Qt创造器:(qt creator 集成开发环境:集成了编译器,助手,构建器,设计器)

  2. 头文件和库

  Qt框架的头文件存储在/usr/include/qt4,一般以Qt开头结尾无.h

  Qt框架中的共享库存在/usr/include/qt4/imports目录中,一般以libQt开头

 

转载于:https://www.cnblogs.com/gumpzlc/p/9545420.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 举例说明shape-outside的属性的用途有哪些?

[css] 举例说明shape-outside的属性的用途有哪些? shape-outside定义了一个可以是非矩形的形状,相邻的内联内容应围绕该形状进行包装。比如使用 shape-outside: circle(); 属性可以实现文字圆形环绕图片的效果。个人简介 我是歌谣,欢迎和大…

2019年7月前CSDN最新排名

截止到2019年6月27日,CSDN排前的大神: 排名第16:https://blog.csdn.net/hejishan 排名第13:https://blog.csdn.net/21aspnet 排名第11:https://blog.csdn.net/notbaron 排名第10:https://blog.csdn.net/…

SpringCloud(二) 服务注册到Eureka

本篇将完成一个可以注册到注册中心的最简单的服务。无论是服务提供者还是服务消费者&#xff0c;都可以在此项目基础上完善出来。 基础服务 最基础的服务&#xff0c;只完成注册到注册中心。 1、pom.xml 文件 1 <?xml version"1.0" encoding"UTF-8"?&…

CSS之层模型

一&#xff1a;理解 如果懂Photoshop的同事&#xff0c;那么层模型就像它的图层那样&#xff0c;上下图层互不影响&#xff0c;可以重叠组合出你想要的视觉。 或者可以理解为楼层&#xff0c;同一栋大厦的不同楼层&#xff0c;再二维角度说&#xff0c;大家的经纬度&#xff…

[css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系?

[css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系&#xff1f; QQ20150717160352 做了几个移动端的项目之后&#xff0c;深感移动端尺寸换算的必要性&#xff0c;在此做个总结。 先介绍下各自的定义&#xff1a; px&#xff1a;pixel&#xff0c;像素&#xff0c;电子屏幕…

SQL多列查询最大值

直接从某一列查询出最大值或最小值很容易&#xff0c;通过group by字句对合适的列进行聚合操作&#xff0c;再使用max()/min()聚合函数就可以求出。 样本数据如下&#xff1a; key_idxyzA123B552C471D338求查询每个key的最大值&#xff0c;展示结果如下&#xff1a; key_idcolA…

CSS之浮动模型

浮动模型又叫流模型&#xff0c;什么是float&#xff08;浮动&#xff09; 最早是为了适应报纸的排版&#xff0c;文字环绕图片的效果&#xff0c;后来经过使用和研究发展出一系列复杂的用法。 CSS 的 Float&#xff08;浮动&#xff09;&#xff0c;会使元素向左或向右移动&…

工作336:uni-ele-el-table修改宽度问题

<el-table-columnfixed"right"header-align"center"label"操作"width"200px">

java 递归调整为队列

如果递归的是深而不广的树时&#xff0c;应该使用队列来优化递归&#xff1b;如果递归是广而不深的树的时候&#xff0c;就应该用递归来优化队列。 https://blog.csdn.net/pseudonym_/article/details/71600084?utm_sourceitdadao&utm_mediumreferral转载于:https://www.c…

工作337:pc-ele-ment联查问题

<grid-radiochange"ListRuery"v-model"query.platform":border"true":options"platform_category"/><!--query.platform--></el-form-item><el-form-item label"平台选择"><!-- <el-checkbo…

html中内联元素和块级元素的区别(整理版)

块级元素和内联元素的主要区别 块级元素 内联元素&#xff08;即行内元素&#xff09; 总是在新行上开始&#xff0c;独占一行默认情况下&#xff0c;宽度自动填满其父元素 相邻的行内元素会排列再同一行里&#xff0c;直到一行排不下&#xff0c;才会换行&#xff0c;宽度随…

工作338:pc重置筛选条件

this.query{}console.log(this)getAction("/account/list",{query:{platform_channel: this.query.platrorm_channel,platform_category:this.query.platform,department_id:this.query.department,}}).then(res>{console.log(res)this.accountListres.data})运行…

Python---通配符的使用

苹果单价 9.00 元&#xff0f;斤&#xff0c;购买了 5.00 斤&#xff0c;需要支付 45.00 元 在 Python 中可以使用 print 函数将信息输出到控制台如果希望输出文字信息的同时&#xff0c;一起输出 数据&#xff0c;就需要使用到 格式化操作符% 被称为 格式化操作符&#xff0c;…

工作339:pc父组件通过props传值给子组件,如何避免子组件改变props的属性值报错问题

</el-form><div><!--子代方法有一个传值传向父级 onselect去接收这个值--><select-account :data1.sync"accountList" :checkedData.sync"checkedData1" seletct"onSelect" /></div><div style"clear: bo…

H5新增的标签和属性

声明 Web 世界中存在许多不同的文档。只有了解文档的类型&#xff0c;浏览器才能正确地显示文档。 HTML 也有多个不同的版本&#xff0c;只有完全明白页面中使用的确切 HTML 版本&#xff0c;浏览器才能完全正确地显示出 HTML 页面。这就是 <!DOCTYPE> 的用处。 <!…

Qt错误汇总

1-工程文件不能包含中文路径。 2-转载于:https://www.cnblogs.com/chdfelix/p/9548686.html

css之文本溢出处理 | 背景图片处理

文本溢出处理 单行文本用缩略符号——text-overflow:ellipsis; 多行文本做截断策略——line-height * 行数 height;text-overflow:hidden; 背景图片处理相关属性 1、background&#xff1a;设置对象的背景样式&#xff0c;是一个复合属性&#xff0c;可以用于同时设置背景…

hdu 2196 computer

hdu 2196 题意 给出一棵树&#xff0c;求出树上每一个点在树上走一条简单路径所能走的最长距离。 解法 说起来&#xff0c;这是我今天1A的第一题 我们设\(up[i]\) 表示从这个点向上走到某个点又向下走的最长距离 设 \(down[i][0]\) 表示从这个点出发向他的子树所能走到的最大距…

CSS之盒模型

怎么理解盒子模型&#xff1f; 盒子模型是样式表&#xff08;css&#xff09;控制页面的很重要的概念。如果理解了盒子模型和其中每个元素的用法&#xff0c;才能熟练使用css的定位方法和技巧。所有的页面的元素都可以看成是一个盒子&#xff0c;占据一定的页面空间。占据的空…

[css] 使用css画个钟表的时间刻度

[css] 使用css画个钟表的时间刻度 写一下思路&#xff0c;先定义一个钟表的大小位置&#xff0c;用absolute,从1点到12点用ul,li。每个li可以用nth-child(对应第几个)来控制位置&#xff0c;角度用transform&#xff0c;然后分钟的刻度也是照样子分别控制位置&#xff0c;要用…