QT的介绍
目录
一、简介
QT是一个跨平台的C++图形用户界面应用程序框架,为应用程序开发者提供建立艺术级图形界面所需的所有功能,是完全面向对象的、易扩展的、允许组件编程。
二、发展历史
1991年,有奇趣科技开发
1996年,进入商业领域,流行的Linux桌面环节KDE的基础
2008年,被诺基亚公司收购,成为诺基亚旗下的编程语言
2012年,被Digia公司收购
2014年,4月跨平台集成开发环节QT Creater3.1发布,5月跨平台QT5.3发布
优点:
- 跨平台
- 接口简单容易上手
- 内存回收机制,无需手动释放
- 开发效率高
- 有很好的社区氛围
- 可以进行嵌入式开发
成功案例:
- Linux桌面环节KDE
- WPS办公软件
- YY语音
- VLC多媒体播放器 ...
三、创建一个QT程序
- 点击创建按钮,选择项目路径及项目名称
- 名称不能使用中文及空格,路径不能有中文路径
- 默认创建窗口:Widget,MainWindow,Dialog
四、按钮空间常用
- 创建QPushButton btn = new QPushButton;
- 设置父亲 setParent
- 设置文本 setText
- 设置窗口大小 resize
- 设置标题 setWindowTitle
- 设置固定大小 setFixSize
- 设置位置 move
五、QT对象树介绍
当创建的对象在堆区时,如果指定的父亲是QObject派生下来的或QObject子类派生下来的类,可以不用管释放的操作,该对象会放入到对象树中,由QT自己管理其释放。
对象树一定程度上简化了内存回收机制。
- QObject是以对象树的形式组织起来的,当创建QT对象时,需为其设置一个父对象,那么这个对象就会自动添加到父对象的children()列表。当父列表析构时,这个列表中的对象也会被析构。
- QWidget是能够在屏幕上显示的窗口父类。QWidget继承自QObject,因此也继承了对象树关系,添加QWidget为父亲的组件会自动添加到列表中自动析构。
- 构造时自上而下,释放时自下而上,构造父亲再构造派生类,释放派生类再释放父类。(析构时先看有没有孩子,有孩子则去析构孩子以此类推,找到最下层孩子进行释放)
六、QT安装
QT官方网站:https://www.qt.io/
QT离线下载版本:https://download.qt.io/archive/qt/
(1)下载QT
(2)选择组件,MinGW为QT开发环境
使用VS为unicode编码;MinGW为utf-8编码,发布也为utf-8编码,所以使用MinGW
勾选QT组件,开发环境中也勾选MinGW
同意协议
等待安装
安装完成后运行QT即可。