赞
踩
本文带你详细了解 Qt 新建项目步骤及每个项目文件的作用
初识Qt
Qt
会被经常认为是一个基于 C++
语言的图形用户界面(GUI
)的开发框架
可以用来开发图形用户界面的应用程序,以便于与用户进行人机交互,但是这并不是 Qt
的全部
Qt
除了可以绘制美观的界面外,还有很多传统编程的内容,例如多线程、数据库、图像处理、音视频处理、网络通信、文件读写等,这些功能 Qt
都内置了
Qt
本身可以开发纯软件产品,通常是一些软件的客户端,例如 WPS
、YY语音
、暴雪战网
、Skype
、豆瓣电台
、虾米音乐
、淘宝助理
、千牛
、暴雪的战网客户端
、VirtualBox
、Opera
、咪咕音乐
、Google地图
、Adobe
、Photoshop
、Album
等
Qt
在嵌入式开发中也扮演了重要的角色,广泛地应用于消费电子
、工业控制
、军工航天
、汽车电子
、医疗设备
等行业
优良的跨平台特性(一次编程,到处编译)
面向对象开发
丰富的API
大量的开发文档
易用的开发环境
开源
......
本人使用 Qt Creator 5.2.1 版本
作为 IDE(Integrated Development Environment)
虽然版本不是最新的,但是兼容性是比较好的
从 32
位到 64
位,从 xp
到 Windows 11
都可兼容
且该版本的 帮助文档
使用效果相对其他版本是最理想的
相较于最新版本,该版本还支持离线使用,适合学习交流
如果在学习 C++
时为了兼容中文显示,改过一次文件编码,则需要恢复编码
操作步骤如下:
(1)启动 Qt Creator
,依次点击 工具
— 选项
(2)在弹出的窗口中,按照下图所示进行操作,更改编码为 UTF-8
更改编码后需重新启动
Qt Creator
现在正式进入新建项目步骤
(1)点击 New Project
,在弹出的窗口中,选择模板按照下图所示进行选择
(2)在弹出的窗口中,设置项目的 名称
和 路径
后,点击 下一步
Tips: 名称和路径中不能包含任何中文字符
(3)在新弹出的窗口中点击 下一步
(4) 在弹出的新窗口中,更改基类为 QDialog
后,点击 下一步
(5)在项目管理界面,直接点击 完成
,可以看到项目中包含的文件
工作目录是新建项目时设定的目录,用于存放源代码文件与项目配置文件等
可以直接在 Qt Creator
中鼠标右击项目中任意文件,点击在 在Explorer中显示
点击后可直接定位到程序的工作目录下
工作目录中包含了项目中若干个文件,相比于 Qt Creator
中,多了一个 .user
格式的文件
下面来介绍这几个文件的功能
项目配置文件 xxx.pro
此文件在纯 C++
项目中也存在,用于配置项目的参数
#------------------------------------------------- # # 项目创建时间 # Project created by QtCreator 2022-12-30T21:18:15 # #------------------------------------------------- # 项目中加入core(核心)和gui(老图形用户界面)模块 QT += core gui # 当Qt的主版本大于 4 时,引入widgets(新图形用户界面)模块 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # 项目生成的可执行文件的名称(项目名称.exe) TARGET = First_Project # 当前项目的的编译方式——以app应用程序的方式编译 TEMPLATE = app # 项目中的源文件 SOURCES += main.cpp\ dialog.cpp # 项目中的头文件 HEADERS += dialog.h # 项目中的界面文件 FORMS += dialog.ui
用户参数文件 xxx.pro.user
此文件是根据当前计算机的开发环境参数自动生成的文件,其它计算机不适用
因此在导入其它计算机创建的项目前,建议先删除此文件
项目第一次运行时,会根据当前的计算机环境重新创建此文件
头文件 xxx.h
Qt
要求每个类的声明和定义分离,头文件通常是一个类的 声明
#ifndef DIALOG_H #define DIALOG_H // 在新建项目中选择的基类 QDialog #include <QDialog> namespace Ui { class Dialog; } // Dialog类 继承自 QDialog类 class Dialog : public QDialog { Q_OBJECT public: // Dialog类的构造函数, 不支持隐式调用 explicit Dialog(QWidget *parent = 0); // Dialog类的析构函数 ~Dialog(); private: // Dialog类的成员 Ui::Dialog *ui; }; #endif // DIALOG_H
源文件 dialog.cpp
通常源文件作为头文件声明对应的定义
例如 dialog.h
声明的部分对应的定义在 dialog.cpp
中
#include "dialog.h" #include "ui_dialog.h" // 构造函数定义 Dialog::Dialog(QWidget *parent) : QDialog(parent), // 构造初始化列表对成员变量进行初始化 ui(new Ui::Dialog) { ui->setupUi(this); } // 析构函数定义 Dialog::~Dialog() { delete ui; }
源文件 main.cpp
main.cpp
是比较特殊的源文件,因为它是程序的入口,即包含主函数
#include "dialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
return a.exec();
}
界面文件 dialog.ui
用于快速设计界面样式的文件
后续文章中会重点讲解界面文件,要想不迷路建议收藏点赞加关注
构建目录用于存放此项目在编译过程中生成的文件,例如数据库文件、可执行文件等
默认情况下,一个项目的工作目录与构建目录是分离的
在程序运行之前,构建目录还未被构建出来
此时构建目录为红色,如下图所示:
点击运行,正常运行后会弹出一个空窗口
空窗口就是默认的程序
如下图所示:
Tips:运行速度相较于
C++
会慢一些,因为要跑的内容较多
再次点击项目即可发现构建目录路径不再是红色,表示构建目录已被构建完毕
构建目录存放的是程序编译过程中产生的文件,其中最重要的是 Qt程序的可执行文件
上图中绿框中默认选中的 Shadow build
为影子构建模式
如果Qt无法正常运行,可以尝试取消影子构建,构建目录会合并到工作目录中,能提高运行的稳定性
如果程序可以正常运行,不建议取消影子构建
要想不迷路建议收藏点赞加关注
未完待续…
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。