以下内容引自百度
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang【C/C++、object-C编译器】的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。
Qt的优势:
- 优良的跨平台特性:
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(Open Graphics Library,是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API))。大量的开发文档。XML 支持。
QT的IDE:QT Creator
Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。
Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。
Qt Creator可带来两大关键益处:
- 提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。
- 即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。
Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:
- 一个高级的C++代码编辑器
- 上下文感知帮助系统
- 可视化调试器
- 源代码管理
- 项目和构建管理工具
Qt Creator在LGPL(GNU宽通用公共许可证,被用于一小部分(不是全部)的GNU库)2.1版本授权下有效,并且接受代码贡献。
Qt工具:
- Qt Linguist,被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。Linguist工具从4.5开始可以支持Gettext的PO文件格式。
- Qt Designer,拖拽式图形化用户界面排版和设计工具。
- Qmake,跨平台makefile生成器。
- Qt Assistant,可定制可重发布的帮助文件和文档阅读器。
![]()
Qt安装(以Qt 5.12.12为例)
- 安装包地址:https://download.qt.io/archive/qt/
- 安装过程中,
select components
- Qt文件结构如下:
第一个Qt程序
- 打开
Qt Creator
,点击文件
->新建文件或项目
QMainWindow:基于主窗口类的应用程序,一般主要用于复杂的程序,除中央客户界面,还可以包括菜单栏、状态栏、工具栏及多个停靠的工具对话框等。
QWidget:最简单最基本的窗口程序,它可以容纳很多个控件实现程序等功能。
QDialog:基于对话框,一般主要用于弹窗,也可以用于主界面显式、它是从QWidget继承过来的。
- 项目结构
.pro——项目描述文件
.h——头文件
.cpp——程序源文件
- 双击
dialog.ui
进入界面设计
#include "dialog.h"
#include "ui_dialog.h"
#include <QMessageBox> // 消息弹框
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_information_clicked() // 选择Click()
{
QMessageBox::information(NULL, "information", "是否退出当前Dialog?", QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);
// 参数含义(父控件指针,标题名称,提示信息,按钮项,默认选择的按钮)
}
- 运行结果