目录
Qt简介
Qt是一个跨平台的C++应用程序开发框架。它提供了一套丰富的工具和类库,能够帮助开发者快速开发高质量的应用程序。Qt最初由挪威公司Trolltech开发,现在由Digia公司维护和支持。
Qt具有很多优点,包括:
- 跨平台性:Qt可以在多个操作系统上运行,包括Windows、macOS、Linux等。这意味着开发者可以使用同一套代码开发应用程序,而不需要为不同的平台编写不同的代码。
- 强大的图形界面设计能力:Qt提供了丰富的图形界面设计工具和类库,开发者可以轻松地创建漂亮的用户界面。
- 高度灵活和可扩展:Qt的类库非常丰富,开发者可以根据自己的需求选择合适的模块进行开发。此外,Qt也支持插件机制,开发者可以通过插件的方式扩展框架的功能。
- 良好的性能:Qt通过优化的C++代码和底层的操作系统接口,可以提供较高的性能和响应速度。
- 大量的文档和社区支持:Qt拥有完善的文档和社区支持,开发者可以轻松地找到答案和解决方案,避免重复工作。
总的来说,Qt是一个强大的应用程序开发框架,适用于各种类型的应用程序开发,包括桌面应用、嵌入式系统、移动应用等。无论是个人开发者还是企业开发团队,Qt都是一个值得考虑的选择。
Qt最重要的特点就是其跨平台的特性,与Java(一次编译到处运行)的跨平台不同的是,Qt的跨平台指的是一次编程,到处编译。
注:本文以及之后的文章使用的软件为 Qt Creator
新建项目
操作步骤如下:
1. 在Qt Creator中点击
2. 在弹出的窗口中,按照下图所示依次操作。
3. 在弹出的窗口中设置项目名称和路径,注意不能包含中文字符!!!!
4. 直接点击’下一步‘。
5. 在弹出的窗口中,选择基类为“QDialog”,选择是否“创建界面”,然后点击“下一步”。
6. 在项目管理界面,直接点击完成。创建成功后可以看到项目中包含的文件。
7. 点击可以编译运行项目(快捷键ctrl + R),项目运行后可以看到一个可视化窗口,此时表示项目可以正常运行。
构建目录和工作目录
项目运行后,存在两个重要的目录:构建目录 和 工作目录
构建目录
用于存放项目编译过程中产生的文件,这个目录位置:
工作目录
工作目录就是创建项目时设置的目录,用于存放项目的源代码文件等开发文件。
工作目录可以通过下面的方式定位:
工作目录下包含以下文件:
项目结构
项目配置文件 .pro
此文件在纯C++项目中存在,用于配置项目的参数。在Windows的文件管理器中,直接双击.pro文件可以导入项目。
.pro文件的内容及作用如下
#-------------------------------------------------
#
# Project created by QtCreator 2024-06-28T09:52:24
#
#-------------------------------------------------
# 添加core核心模块、gui传统的图形界面模块
QT += core gui
# 当Qt主版本号大于4(当前为5.4.0)时,添加新的图形界面模块widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
# 生成的可执行文件.exe的名称 Day1_24022_helloQt.exe
TARGET = Day1_24022_helloQt
# 项目构建模式
TEMPLATE = app
# 项目中包含的源文件
SOURCES += main.cpp\
dialog.cpp
# 项目中包含的头文件
HEADERS += dialog.h
用户文件 .user
此文件在Qt Creator中不可见,但是确实存在于工作目录中(项目构建之后)。
此文件是Qt根据当前计算机的开发环境自动生产的文件,每个计算机几乎不通用此文件,因此在提交代码时,一般先删除此文件。
主文件 main.cpp
程序的入口,包含主函数。通常不需要改动主文件代码。
#include "dialog.h"
// QApplication 类 管理GUI应用程序的控制流和主设置
#include <QApplication>
/**
* @brief main 主函数,程序的入口
* @return
*/
int main(int argc, char *argv[])
{
// 创建了一个管家类的栈内存对象,管理整个应用程序
QApplication a(argc, argv);
// 创建了一个自定义对话框窗口类的栈内存
Dialog w;
// 显示
w.show();
return a.exec();
}
头文件 dialog.h
在Qt中一个自定义类的声明都写在.h中,这个类所用到的其他类的头文件,也写在此文件中。
#ifndef DIALOG_H
#define DIALOG_H
// Qt 自带类的头文件
#include <QDialog>
/**
* @brief The Dialog class 自定义对话框窗口类
* 继承QDialog类(对话框窗口的基类)
*/
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0); // 构造函数
~Dialog(); // 析构函数
};
#endif // DIALOG_H
源文件 dialog.cpp
包含与同名的头文件配套的类外定义。
#include "dialog.h"
/**
* @brief Dialog::Dialog 构造函数的定义
* @param parent 参数
*/
Dialog::Dialog(QWidget *parent)
: QDialog(parent) // 透传构造
{
}
// 析构函数
Dialog::~Dialog()
{
}
帮助文档
学习Qt一定要学习如何查阅帮助文档,通常对于不是很常用内容的开发,都是随用随查。
三种查询文档的方式:
1. 直接启动 Assistant 程序,是一个独立的文档程序。对于有副屏的人建议使用这个方法,方便随用随查。
2. 在Qt Creator中直接点击,可以打开一个内嵌的 Assistant 程序。
3. 光标定位到要查询的内容还是那个,双击键盘F1(笔记本电脑可能需要按住fn),可以直接跳转到文档内容。
文档的重点位置:
调试信息
在C语言和C++中,无论是printf还是cout输出的内容都不区分前后台,但是Qt中输出的内容是区分前后台的,通常前台指的是图形用户界面,用户可以直接通过软件界面看到;后台指的是在Qt Creator中的(控制台)中,这里显示的信息用户是不可见的,只对开发者开放。
使用 QDebug 类的 qDebug() 输出调试信息,支持中文。整个使用方式与 cout 类似,但是有以下区别:
● 连续输出时,自动添加空格
● 每次输出语句结束时,自动添加换行
使用步骤
1、在 dialog.h 里添加头文件 #include <QDebug>
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QDebug> // 头文件
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
};
#endif // DIALOG_H
2、在 dialog.cpp 里使用 qDebug() ;
#include "dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
qDebug() << "构造函数" << "HelloWorld";
}
Dialog::~Dialog()
{
qDebug() << "析构函数";
}