Qt Creator新建项目详解

本文带你详细了解 Qt 新建项目步骤及每个项目文件的作用


前言

初识Qt

Qt 会被经常认为是一个基于 C++ 语言的图形用户界面(GUI)的开发框架
可以用来开发图形用户界面的应用程序,以便于与用户进行人机交互,但是这并不是 Qt 的全部

Qt 除了可以绘制美观的界面外,还有很多传统编程的内容,例如多线程数据库图像处理音视频处理网络通信文件读写等,这些功能 Qt 都内置了

Qt 本身可以开发纯软件产品,通常是一些软件的客户端,例如 WPSYY语音暴雪战网Skype豆瓣电台虾米音乐淘宝助理千牛暴雪的战网客户端VirtualBoxOpera咪咕音乐Google地图AdobePhotoshopAlbum

Qt 在嵌入式开发中也扮演了重要的角色,广泛地应用于消费电子工业控制军工航天汽车电子医疗设备 等行业


Part1:Qt的优势

优良的跨平台特性(一次编程,到处编译)
面向对象开发
丰富的API
大量的开发文档
易用的开发环境
开源
......

Part2:开发环境

本人使用 Qt Creator 5.2.1 版本 作为 IDE(Integrated Development Environment)

虽然版本不是最新的,但是兼容性是比较好的
32 位到 64 位,从 xpWindows 11 都可兼容
且该版本的 帮助文档 使用效果相对其他版本是最理想的
相较于最新版本,该版本还支持离线使用,适合学习交流


Part3:新建项目

如果在学习 C++ 时为了兼容中文显示,改过一次文件编码,则需要恢复编码
操作步骤如下:

(1)启动 Qt Creator,依次点击 工具选项

在这里插入图片描述

(2)在弹出的窗口中,按照下图所示进行操作,更改编码为 UTF-8

在这里插入图片描述

更改编码后需重新启动 Qt Creator


现在正式进入新建项目步骤

(1)点击 New Project ,在弹出的窗口中,选择模板按照下图所示进行选择

在这里插入图片描述

(2)在弹出的窗口中,设置项目的 名称路径 后,点击 下一步

Tips: 名称和路径中不能包含任何中文字符

在这里插入图片描述

(3)在新弹出的窗口中点击 下一步

在这里插入图片描述

(4) 在弹出的新窗口中,更改基类为 QDialog 后,点击 下一步

在这里插入图片描述

(5)在项目管理界面,直接点击 完成 ,可以看到项目中包含的文件

在这里插入图片描述
在这里插入图片描述


Part4:工作目录

工作目录是新建项目时设定的目录,用于存放源代码文件与项目配置文件等
可以直接在 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

用于快速设计界面样式的文件

在这里插入图片描述

后续文章中会重点讲解界面文件,要想不迷路建议收藏点赞加关注


Part5:构建目录

构建目录用于存放此项目在编译过程中生成的文件,例如数据库文件、可执行文件等
默认情况下,一个项目的工作目录与构建目录是分离的
在程序运行之前,构建目录还未被构建出来
此时构建目录为红色,如下图所示:

在这里插入图片描述

点击运行,正常运行后会弹出一个空窗口
空窗口就是默认的程序
如下图所示:

Tips:运行速度相较于 C++ 会慢一些,因为要跑的内容较多

在这里插入图片描述

再次点击项目即可发现构建目录路径不再是红色,表示构建目录已被构建完毕

在这里插入图片描述

构建目录存放的是程序编译过程中产生的文件,其中最重要的是 Qt程序的可执行文件
上图中绿框中默认选中的 Shadow build 为影子构建模式

如果Qt无法正常运行,可以尝试取消影子构建,构建目录会合并到工作目录中,能提高运行的稳定性
如果程序可以正常运行,不建议取消影子构建


Part6:总结

要想不迷路建议收藏点赞加关注
未完待续…

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值