QT Creator上位机学习(一)基本类别及主体框架解析

这篇具有很好参考价值的文章主要介绍了QT Creator上位机学习(一)基本类别及主体框架解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录



前言

之前也学习制作过串口上位机和利用Qchart完成数据的曲线显示等等,但大多只是对网上的程序进行拼接,这次又需要做一个上位机,打算好好学习记录一下。


基础认识

多种项目

可以创建多种项目:
1.Qt Widgets Application:支持桌面平台的GUI应用程序,C++。
2.Qt Console Application:无GUI界面,控制台应用程序,只需要简单的输入输出操作。
3.Qt Quick Application:创建Qt Quick2 应用程序,支持GUI,但是界面设计种应用的是QML语言,程序架构用C++,可以设计非常炫酷的界面,一般用在移动设备 或嵌入式设备上无边框的应用程序设计。
4.Qt Quick Controls 2 Application:创建基于Qt Quick Control2组件的可部署Qt Quick 2应用程序(Qt5.7版本以上)
5.Qt Canvas 3D Application:创建Qt Canvas 3D QML项目,支持3D画布,是QML项目。
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

3种基类

1.QMainWindow:主窗口类,具有主菜单栏、工具栏、状态栏
2.QWidget:可视化基类,支持各种界面组件
3.QDialog:对话框类,创建对话框界面
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
上图中勾选Generate form,就会自动创建ui文件,否则需要自己编程手动创建。

文件管理

一般分为头文件、源文件、UI设计文件。
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

Sources中,设计到所有的C++源文件,mainwindow.cpp是主窗口的实现文件,main.c是主函数文件,也是应用程序的入口。

Forms:项目内所有的.ui文件,目前这个是主窗口的界面文件,界面文件是文本文件,使用XML语言描述。(一般我们只管设计,不管内部的XML)

编译

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
如果勾选了Shawdow build,将在编译目录下创建一个编译后的文件目录,名字是编译器名称,便于区分是哪个编译器编译产生的。
如下图,下面是项目代码,上面是运行生成的编译后文件
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
直接运行程序:Crtl+R,Debug:F5,只编译不运行:Ctrl+B。

设置断点进行Debug有个前提,就是必须把模式设置成Debug模式。
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

项目程序

项目管理文件

.pro是项目管理文件,文件名就是项目名称
其中“QT += core gui”表示在项目中加入core gui模块,是用于GUI设计的类库模块。

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

表示当Qt版本大于4的时候,加入widgets模块

UI文件

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

信号与槽

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
可以使用可视化信号与槽进行创建,不过这种方式不会将信号与槽更新到代码中。(这种方法的connect在编译生成的ui_xxxxx.h文件中,自动添加的)

Action设计

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
在上图界面新建action,可以达到下图的效果:(然后将之添加到菜单的分组下就行)
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
当然之后还需要将Action的trigger()信号与想要实现功能的槽函数进行连接,编写槽函数功能,当然Action也有enable等属性可以设置。

主程序

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
主程序的功能是创建应用程序、创建窗口、显示窗口、运行应用程序,开始循环消息和事件处理。

1.首先QApplication 是Qt的一个标准应用程序类,a就是应用程序对象了

 	QApplication a(argc, argv);

2.Widget是设计窗口的类名,定义此窗口后就可以调用show显示了

	MainWindow w;
	w.show();

3.a.exec()启动应用程序,开始应用程序的消息循环和事件处理

    return a.exec();

窗体头文件

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

1.通过namespace声明了一个名称为Ui的命名空间,包含了描述界面组件的类MainWindow,这个类和文件中定义的类没关系。这个类是用来描述界面组件的,外部类型声明。后面应用时会这样写:Ui::MainWindow。
2.定义MainWindow类,继承了QMainWindow,使用宏Q_OBJECT是信号与槽必须要加的一个宏。(添加这个宏,就能对Qt特有的一些功能进行预处理,转化为C++)
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机
3.public里面定义的是构造函数和析构函数。
构造函数是类的初始化,将数据成员初始化操作,函数名和类名一样,无返回值。
当一个对象的生命周期结束的时候,将自动调用析构函数来销毁对象的所有成员,函数不能有返回值,也没有形参。
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

4.private里定义的指针 ,用前面的namespace Ui里面类定义的,ui指针指向的是可视化设计的界面,一些界面的组件都要通过这个ui。
QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

窗体源文件

QT Creator上位机学习(一)基本类别及主体框架解析,Qt学习,qt,c++,上位机

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

1.Qt编译生成的与UI文件(mainwindow.ui)对应的类定义文件

#include "mainwindow.h"

2.执行父类QMainWindow的构造函数,创建一个Ui::MainWindow(前面namespace里面的)类对象ui,这个就是前面private里面定义的指针变量ui。(:后面是成员的定义),后面处理的时候都是这个ui指针。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

toon过执行Ui::MainWindow类的setupUi() ,实现窗口的生成与各种属性的设置、信号与槽的关联。

3.析构函数删除new创建的指针ui文章来源地址https://www.toymoban.com/news/detail-530934.html

MainWindow::~MainWindow()
{
    delete ui;
}

到了这里,关于QT Creator上位机学习(一)基本类别及主体框架解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【QtQuick3D学习】使用Qt Design Studio设计UI并导入Qt Creator项目中使用——基于C++和Cmake

    新版本中项目文件全部放在了一起,见 【QtQuick3D学习】使用Qt Creator创建Qt Design Studio项目测试运行——基于C++和Cmake 【QtQuick3D学习】使用Qt Design Studio创建项目并使用Qt Creator打开测试运行——基于C++和Cmake 这里测试前后端分离,即使用Qt Design Studio设计前端和交互逻辑,C++写后

    2024年02月01日
    浏览(39)
  • 第4章 微服务框架主体搭建

    框架搭建 1、整体业务功能分析 2、根据业务需求设计表结构及字段 1、版本控制器的搭建使用 2、能独立自主的搭建微服务框架 3、学会考虑一些公共的工具组件 4、网关模块的应用 作为程序员,我们都知道,在实际开发过程中,最常用的版本控制工具大致分为两种:git和sv

    2024年02月12日
    浏览(34)
  • Linux配置QT Creator环境:ubuntu中安装QT Creator环境

      目前市面上很多公司使用QT Creator进行界面开发,基本都会选择在Linux环境进行,优点不仅是市场所需,更是方便后期代码的移植,相较于Windows系统,Linux系统移植性非常好。故此篇文章,介绍如何在Linux环境中安装QT Creator环境(注:本作者以QT Creator 5.14.2进行介绍,大家

    2024年02月13日
    浏览(46)
  • 《落实算法安全主体责任基本情况》 该如何写? 如何获取模板?

    在数字化时代,算法已经成为了商业竞争和创新的关键要素。然而,算法的广泛应用也引发了对其安全性和合规性的关切。《落实算法安全主体责任基本情况》作为算法备案过程中的一环,具有极高的专业性,需要企业全面考虑算法的隐私保护、数据合规、风险预防等一系列

    2024年02月04日
    浏览(42)
  • Qt、Qt Creator下载、安装

    Qt是一个跨平台应用开发框架。 Qt Creator是一个跨平台的集成开发环境(IDE),集成了Qt所提供的功能,可以单独下载使用,也可以结合Qt组合使用。 下载地址:https://download.qt.io/archive/ (1)进入下载界面后,选择下qt文件夹,或者qtcreator文件夹。 (2)此处我选择qt文件夹,进

    2024年02月08日
    浏览(39)
  • Qt Creator 创建 Qt 默认窗口程序

    Qt 入门实战教程(目录) Windows Qt 5.12.10下载与安装 本文介绍用Qt自带的集成开发工具Qt Creator创建Qt默认的窗口程序。 本文不需要你另外安装Visual Studio 2022这样的集成开发环境,也不需要你再在Visual Studio 2022中安装Qt VS Tools这样的插件。 目的就是为了能够让你可以更快的把Q

    2024年02月09日
    浏览(50)
  • 三、Qt Creator 使用

    关于Qt的安装及环境配置,在我的上一篇《二、QT下载、安装及问题解决(windows系统)》已经讲过了。 本章节有一个重点,在新建 工程文件时,所在路径不要有中文,否则编译及运行程序不能正常运行。 在使用Qt Creator(以下简称QT)前,请先做好心里准备,假如你用过宇宙第一

    2024年01月20日
    浏览(36)
  • Qt creator下载安装

    Qt4的开发环境包括3个基本部分:Qt Framework(Qt库)、QtCreator(IDE)和MinGW(编译调试),都要分别下载安装并配置,比较麻烦。 Qt5之后,Qt公司将三者打包成一个安装文件,比如Qt5.4.0的离线安装包,这样方便许多。所有直接安装Qt5就行。(后面有安装的qt4需要可以往下看)

    2024年02月07日
    浏览(36)
  • Qt Creator配置openCV

    由于opencv的库文件一般是dll动态链接库文件,可以被MSVC(Visual studio编译器)所编译引用,但QT一般采用的是MinGw编译器,所以要引用opencv的动态链接库需要通过 Cmake 编译器转换一下。下列步骤可以成功在QT creator中配置opencv库文件(正常情况下是需要下载cmake对opencv文件进行编

    2024年02月05日
    浏览(34)
  • Qt6 c++教程2 Qt Creator简介

    Qt Creator是Qt自带的集成开发环境(IDE),用于跨平台应用程序开发。在本章中,您将学习Qt Creator集成开发环境的基础知识,并了解集成开发环境的用户界面 (UI)。我们还将了解如何在 Qt Creator中创建和管理项目。本Qt 模块包括使用Qt Creator开发一个简单的Qt应用程序、快捷方式

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包