当前位置: 首页 > article >正文

嵌入式学习-QT-Day01

嵌入式学习-QT-Day01

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、调试信息

7、注意

Qt简介

1、Qt是什么?

Qt是一个基于C++的图形用户界面(GUI)开发框架,但是Qt不仅仅能开发界面,还包含了很多的传统编程技术:多线程、数据库、图像处理、网络通信、文件IO。。。。。。。等

以下是Qt开发的具体产品:

等等等,包括但不限于以上的场景。

Qt主要的优势是优良的跨平台特性。(一次编程,到处编译)

比如:windows、Linux、android、SunOS等等

另外Qt也拥有一些常规的特性:

  • 面向对象开发(使用C++进行编程)
  • 丰富的API调用接口。配套了对应的开发文档。
  • 易用的开发软件
  • 开源(源代码开放,学习资料多)

2、新建项目

本次Qt的开发仍然使用C++课程中的Qt Creator,但是需要把软件的编码恢复到默认的编码。

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

  1. 在Qt Creator中点击
  2. 在弹出的窗口中,按照下图所示进行操作

在弹出的窗口中设置项目的名称和路径,注意不要包含任何中文字符和特殊字符

直接点击下一步

在弹出的窗口中,选择基类为“QDialog”,取消创建界面选项,然后点击下一步。

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

点击可以编译并运行项目。项目运行后可以看到一个可视化的窗口。

3、构建目录和工作目录

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

3.1、构建目录

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

3.2 工作目录

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

工作目录可以通过下面的方式进行定位。

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

本门作业提交方式:工作目录打包。

4、项目结构

4.1 项目配置文件.pro

在windows的文件管理器中,直接双击.pro文件即可导入项目。


 

#-------------------------------------------------
#
# Project created by QtCreator 2024-11-22T09:37:25
#
#-------------------------------------------------

# 添加core核心模块、gui传统图形界面模块
QT       += core gui

# 当Qt主版本号大于4(当前5.4)时,添加新的图形界面模块widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

# 生成的可执行exe的名称:hello_81
TARGET = hello_81
# 项目架构模式
TEMPLATE = app

# 项目中包含的源文件
SOURCES += main.cpp\
        dialog.cpp

# 项目中包含的头文件
HEADERS  += dialog.h

4.2 用户文件.user

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

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

4.3 主文件 main.cpp

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

#include "dialog.h"

// QApplication类管理GUI应用程序的主控制流和主设置
#include <QApplication>

// main主函数,程序的入口
int main(int argc, char *argv[])
{
    // 创建了一个管家类栈对象,管理整个应用程序
    QApplication a(argc, argv);

    // 床架i拿了一个自定义对话框类的栈内存对象
    Dialog w;

    // 显式
    w.show();

    // 进入主时间循环
    return a.exec();
}

4.4 头文件dialog.h

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

#ifndef DIALOG_H
#define DIALOG_H

// 添加头文件QDialog对话框基类,Qt自带类型通常使用Q开头
#include <QDialog>

// 自定义对话框类
// 继承QDialog(对话框窗口基类)
class Dialog : public QDialog
{
    // 先放着
    Q_OBJECT

    // 公有权限
public:
    // 构造函数
    Dialog(QWidget *parent = 0);
    // 析构函数
    ~Dialog();
};

#endif // DIALOG_H

4.5 源文件dialog.cpp

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

#include "dialog.h"

// 构造函数定义
// 参数
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)   // 透传构造
{
}

// 析构函数
Dialog::~Dialog()
{

}

5、帮助文档

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

有三种查询的方式:

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

打开Assistant程序后,点击索引,在输入框中输入想要查询的内容即可。

在Qt Creator中直接点击,可以打开一个内嵌的Assistant程序。

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

帮助文档需要关注的重点内容

6、调试信息

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

后台的输出需要使用QDebug类的qDebug()函数输出调试信息,支持中文,震哥哥使用的方式cout类似,但是有以下区别。

  • 连续输出时,自动添加空格
  • 每次输出语句结束时,自动添加换行。

后台指的是在Qt Creator的(控制台)中,这里显式的信息用户看不到,只对开发者开放。

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

// 添加头文件QDialog对话框基类,Qt自带类型通常使用Q开头
#include <QDialog>
#include <QDebug>

// 自定义对话框类
// 继承QDialog(对话框窗口基类)
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() << "构造函数" << "被调用了";
   qDebug() << "构造函数" << "被调用了";
}

// 析构函数
Dialog::~Dialog()
{

}

7、注意

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


http://www.kler.cn/a/455480.html

相关文章:

  • 基于springboot校园招聘系统源码和论文
  • 使用RKNN进行YOLOv8人体姿态估计的实战教程:yolov8-pose.onnx转yolov8-pose.rknn+推理全流程
  • 运行StableDiffusionInpaintPipeline的Example时报错:OSError: Cannot load model runwayml/stable-diffusion-...
  • 如何理解 CNN 中的 RGB 图像和通道?
  • CCF-GESP 等级考试 2023年12月认证C++五级真题解析
  • Java 面试合集(2024版)
  • FFMPEG解码+SDL2播放视频
  • Oracle 11G还有新BUG?ORACLE 表空间迷案!
  • Debian安装配置RocketMQ
  • 组件库TDesign的表格<t-table>的使用,行列合并以及嵌入插槽实现图标展示,附踩坑
  • UGUI源码分析 --- UI的更新入口
  • “游戏信息化”:游戏后台系统的未来发展
  • Windows 11 系统下,通过 WSL(Windows Subsystem for Linux)里的 Ubuntu 24.04 安装 CUDNN 记录
  • 【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(一):从电梯出发的状态模式State Pattern
  • 面试题整理13----deployment和statefulset区别
  • DeepSpeed的json配置讲解:ds_config_zero3.json
  • 【代码随想录|动态规划背包问题应用】
  • 使用VS Code开发ThinkPHP项目
  • windows nvm 切换node版本后,npm找不到
  • Transformer++架构:突破性的创新与优化
  • 注意⚠️:矩阵系统源码开发/SaaS矩阵系统开源/抖音矩阵开发优势和方向
  • AI绘图开源工具Stable Diffusion WebUI前端API调用
  • Springboot jar包加密加固并进行机器绑定
  • 知迪科技荣获合肥高新区“瞪羚企业” “潜在独角兽企业”双认证
  • JVM -垃圾回收机制
  • 山东大学软件学院2024秋季大数据安全期末