QT学习第一课

目录

1. Qt是什么?

2. 新建项目

3. 构建目录和工作目录

3.1 构建目录

3.2 工作目录

4. 项目结构

4.1 项目配置文件.pro

4.2 用户文件 .user

4.3 主文件 main.cpp

4.4 头文件 dialog.h

4.5 源文件 dialog.cpp

5. 帮助文档

6. 调试信息


1. Qt是什么?

这门课的定位:

● C++的实践课

● 系统性的认识图形用户界面编程GUI

● 新的就业方向

Qt虽然被经常当做是一个基于C++语言的图形用户界面(GUI)的开发框架,用来开发图形用户界面的应用程序,但是这并不是Qt的全部。除此之外,Qt还支持许多非图形用户界面的功能,例如多线程、数据库、图像处理、音视频处理、网络通信、文件IO操作等。

学习Qt五阶段

➢ 第一阶段 Qt简介、UI入门、信号槽

➢ 第二阶段 Qt中常用组件与常用类

➢ 第三阶段 多窗口编程

➢ 第四阶段 文件IO、数据库、网络编程

➢ 第五阶段 项目打包、小项目

Qt在软件开发领域,使用广泛,主要分为以下三类:

1. 纯软件开发

此方向与嵌入式的关系不大,这种方式开发的Qt程序本身作为一款独立的产品存在,例:

2. 嵌入式上位机

用来控制和获取下位机的数据的应用程序,例如:

3. 直接成为嵌入式产品的控制程序

对于某些自身带有屏幕的嵌入式产品,其内部的控制交互程序可以使用Qt进行开发,例如:

Qt最重要的特点就是其跨平台的特性,Qt的跨平台指的是一次编程,到处编译

另外Qt还有一些通用性的特点:

● 面向对象开发

● 丰富的应用程序接口API

● 易用的开发环境

● 开源

● 大量的开发文档

2. 新建项目

本次Qt开发依然使用C++课程中的Qt Creator,但是需要把软件的编码设置成初始值:

更改完成后,才可以新建一个正常支持中文的Qt项目,操作步骤如下:

1. Qt Creator 中点击

2. 在弹出的窗口中,如下操作:

3. 在弹出的窗口中设置项目名称和路径,注意不能包含中文字符!

4. 直接点击下一步

5. 在弹出的窗口中,选择基类“QDialog",取消界面创建选项,点击下一步

6. 在项目管理界面,直接点击完成。可以看到项目中的文件

7. 点击运行,项目运行后可以看到一个可视化窗口

3. 构建目录和工作目录

项目运行后,存在两个重要目录:构建目录和工作目录

3.1 构建目录

存放项目编译过程中生成的文件,这个目录的位置:

构建目录的重点会在最后一天涉及,前期使用较少

3.2 工作目录

工作目录就是创建项目时设置的目录,用于存放项目的源代码等开发文件。

工作目录可以通过下面的方式定位:

工作目录下包含以下文件:

本门课作业提交为工作目录打包。

4. 项目结构

4.1 项目配置文件.pro

此文件在纯C++中也存在,用于配置项目的参数。

在Windows的文件管理器下,双击文件打开项目。

#-------------------------------------------------
#
# Project created by QtCreator 2024-05-17T09:33:47
#
#-------------------------------------------------
# 添加了Core核心模块,Gui传统的用户图形界面模块
QT       += core gui
 
#当Qt版本大于4 ,添加Widgets模块新的用户图像界面模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
# 生成的可执行文件的名称 Day1_24011_helloQt.exe
TARGET = Day1_24011_helloQt
#  编译方式 
TEMPLATE = app
 
# 项目中包含的源文件
SOURCES += main.cpp\
        dialog.cpp
# 项目中包含的头文件
HEADERS  += dialog.h

4.2 用户文件 .user

用户在Qt Creator中不可见,但是确实存在于工作目录中(项目构建后)

此文件是Qt根据当前计算机的开发环境自动生成的文件,每个计算机几乎不通用此文件,因此在提交代码时,先删除此文件。

4.3 主文件 main.cpp

程序的入口,包含主函数。通常不需要更改主函数的代码

#include "dialog.h"
// 管理GUI应用程序的控制流和主设置
#include <QApplication>
/**
 * @brief main 主函数,程序的入口
 
 * @return 
 */
int main(int argc, char *argv[])
{
    // 创建了管家栈内存对象,管理整个应用程序
    QApplication a(argc, argv);
    // 创建了自定义对话框窗口的栈内存对象
    Dialog w;
    // 展示
    w.show();
 
    return a.exec(); // 进入主循环事件
}

4.4 头文件 dialog.h

在Qt中一个自定义类的声明都写在.h中,这个类所用到的其他类头文件,也在此文件中引入。

#ifndef DIALOG_H
#define DIALOG_H
// Qt 自带的类型使用Q开头
#include <QDialog>
 
/**
 * @brief The Dialog class 自定义对话框窗口类
 * 继承了QDialog类
 */
class Dialog : public QDialog
{
    Q_OBJECT
 
public:
    Dialog(QWidget *parent = 0); // 构造函数
    ~Dialog();                   // 析构函数
};
 
#endif // DIALOG_H

4.5 源文件 dialog.cpp

包含与同名的头文件配套的类外定义。

#include "dialog.h"
/**
 * @brief Dialog::Dialog 构造函数
 * @param parent
 */
Dialog::Dialog(QWidget *parent)
    : QDialog(parent) // 透传构造
{
}
 
// 析构函数
Dialog::~Dialog()
{
 
}

5. 帮助文档

学习Qt一定要学习如何查询文档,通常对于不是很常用内容在开发时都是随用随查,官方文档是第一手资料。

有三种查询文档的方式:

1. 直接启动Assistant程序,是一个独立的文档程序。

2. 在Qt Creator中直接点击

,可以打开一个内嵌的Assistant程序。

3. 光标定位到要查询的内容上,双击键盘F1,可以直接跳转到对应的文档内容。

帮助文档中需要重点关注:

Tips:

帮助文档翻页方式

1. alt + 方向键← →

2.

直接点击左上角箭头

3. 鼠标侧键

6. 调试信息

在C语言与C++中,无论是printf还是cout输出的内容都不区分前后台,但是Qt中输出内容是区分前后台的,通常前台指的是图形用界面,用户可以直接通过软件界面看到;后台指的是在Qt Creator的

(控制台)中,这里显示的信息用户是不可见的,只对开发者开放。

使用QDebug类的qDebug()函数输出调试信息,支持中文。整个的使用方式与cout类似,但是有以下区别:

● 连续输出时,自动添加空格

● 每次输出语句结束时,自动添加换行

dialog.h

#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

dialog.cpp

#include "dialog.h"
 
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    qDebug() << "构造函数" << "hello Qt" ;
}
 
Dialog::~Dialog()
{
    qDebug() << "析构函数" ;
}

当程序正在运行时,再次运行可能会出现下面的情况,只需要关闭当前正在运行的项目重新运行即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值