二、QT工程中各个文件代表的含义

news2024/11/16 1:35:21

QT从入门到实战学习笔记

  • 基本QT工程中各个文件知识
    • 1、main函数
    • 2、.pro工程文件
    • 3、QT5基本模块
    • 4、.h头文件

基本QT工程中各个文件知识

1、main函数

在这里插入图片描述

#include "mymainwindow.h"
#include <QApplication>   //包含一个应用程序类的头文件
//main程序入口  argc命令行变量的数量   argv命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在QT中有且只有一个,必须有这么个对象存在
    QApplication a(argc, argv);
    //窗口对象,myWidget父类 =》  QWidegt
    myMainWindow w;
    //窗口对象,默认不会显示,必须要调用show方法显示窗口
    w.show();

    //让应用程序对象进行消息循环机制,保持窗口持续存在
    //让代码堵塞到这行
    return a.exec();
}

2、.pro工程文件

在这里插入图片描述

QT       += core gui    #QT包含的模块=core核心模块  gui图形模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets     #大于4版本以上的包含widgets界面用于显示窗口的模块(之前4版本是集合在一起了)

CONFIG += c++11      #语言使用的是C++11版本

TARGET = 01_SecondProject    #目标,生成的.exe程序名字
TEMPLATE = app                #模板  应用程序模板,默认app,还有如lib vcapp vclib subdirs

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \         #源文件
    main.cpp \
    mymainwindow.cpp

HEADERS += \         #头文件
    mymainwindow.h

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

在这里插入图片描述

其中TARGET可以通过更改名字生成不同.exe文件如下:
从TARGET = 01_FirstProject
变为TARGET = 01_SecondProject
在这里插入图片描述

3、QT5基本模块

在这里插入图片描述

Core核心模块 GUI图形模块 Network网络通信模块 Mulitmedia多媒体模块
SQL数据库模块 Test测试模块 Widgets窗口中的内容单独的写到这个模块中

4、.h头文件

在这里插入图片描述

#ifndef MYMAINWINDOW_H    //保护代码,防止头文件被重复编译
#define MYMAINWINDOW_H

#include <QWidget>    //包含一个头文件QWidget 窗口的类的头文件

class myMainWindow : public QWidget     //写了个自己的类,继承QWidget
{
    Q_OBJECT   //Q_OBJECT宏,允许类中使用信号和槽的机制

public:
    myMainWindow(QWidget *parent = nullptr);   //构造函数,默认函数值在头文件里和原文件里只有一个存在默认值
    ~myMainWindow();   //析构函数
};
#endif // MYMAINWINDOW_H
5、命名规范和快捷键
#include "mymainwindow.h"

//命名规范
//类名 首字母大写 单词和单词之间首字母大写
//函数名 变量名 首字母小写,单词和单词之间首字母大写

//快捷键
//注释  ctrl+/     取消注释  ctrl+?
//运行  ctrl+r
//编译  ctrl+b
//字体缩放 ctrl+鼠标滚轮
//查找 ctrl+f
//整行移动  ctrl+shift+↑或者↓
//帮助文档  第一种方式  F1   退出  esc    第二种方式  左侧按钮   第三种方法  在bin文件中的assistant.exe可以额外点开一个界面查询帮助
//自动对齐  ctrl+i
//同名之间的.h和.cpp切换  F4

myMainWindow::myMainWindow(QWidget *parent)   //默认函数值在头文件里和原文件里只有一个存在默认值,这里是一个构造函数的意思,主要是对对象parent初始化,这里继承了父类的默认值0
    : QWidget(parent)
{
}

myMainWindow::~myMainWindow()
{
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/713189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSM球场计费管理系统-计算机毕设 附源码77275

SSM球场计费管理系统 摘 要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在球馆计费管理的要求下&#xff0c;开发一款整体…

听说最近ChatGPT很火?我来整个废话版ChatGPT!

文章目录 需求分析项目初始化读取语料库文件实现随机模块生成文章保存文章命令行配置参数命令行交互废话版ChatGPT网页版 废话版ChatGPT 的功能是能根据语料库的配置和用户输入的规则&#xff0c;随机生成一篇可长可短的文本&#xff0c;里面的内容语句通顺&#xff0c;但是废话…

系列三、RocketMQ安装

一、前置准备 安装JDK&#xff0c;要是没有安装&#xff0c;请参考如下文章进行安装 https://blog.csdn.net/HelloWorld20161112/article/details/129085841 二、安装 2.1、下载RocketMQ安装包 # 官网 https://rocketmq.apache.org/download# 我分享的 链接&#xff1a;htt…

借助navicat,把一个数据库里面的部分表数据,导入另一个数据库中

背景 准备 在navicat里面创建两个数据库&#xff0c;一个是n1,另一个是n2 n1:有数据&#xff0c;需要把n1里面的部分表数据导入到n2里面 n2:被导入的数据库 给n1录入数据 给n2导入部分数据 点击工具---》 点击数据传输 选择导入和导出的数据库 点击自定义&#xff0c;选择自己…

KMeans聚类算法实现

目录 1. K-Means的工作原理 2.Kmeans损失函数 3.Kmeans优缺点 4.编写KMeans算法实现类 5.KMeans算法测试 6.结果 Kmeans是一种无监督的基于距离的聚类算法&#xff0c;其变种还有Kmeans。其中&#xff0c;sklearn中KMeans的默认使用的即为KMeans。使用sklearn相关算法API…

【数据结构与算法】Huffman编码/译码(C/C++)

实践要求 1. 问题描述 利用哈夫曼编码进行信息通讯可以大大提高信道利用率&#xff0c;缩短信息传输时间&#xff0c;降低传输成本。但是&#xff0c;这要求在发送端通过一个编码系统对待传数据预先编码&#xff1b;在接收端将传来的数据进行译码(复原)。对于双工信道(即可以…

3D渲染的定义和应用领域

三维渲染&#xff08;3D rendering&#xff09;是一种将三维模型数据转化为二维图像的技术&#xff0c;通常利用计算机图形学的方法来实现。通过运用光线、材质、纹理、阴影等效果&#xff0c;将三维物体展现在二维屏幕上&#xff0c;以模拟真实世界中的三维景象。 一、三维渲…

el-table 默认勾选数据

目录 效果图 步骤&#xff1a; 1. 看elementui 官网上的案例&#xff0c;用到的方法是自带的 toggleRowSelection 2. 思路 原委 选中主表中的一条数据&#xff1b;判断与子表中的数据是否关联&#xff08;如果子表的关联ID主表的ID&#xff0c;则子表的这条数据显示被勾选&a…

CADD蛋白结构分析、虚拟筛选、分子对接(蛋白-蛋白、蛋白-

时间:第一天上午 课程名称:生物分子互作基础 课程内容:1.生物分子相互作用研究方法 1.1蛋白-小分子、蛋白-蛋白相互作用原理 1.2 分子对接研究生物分子相互作用 1.3 蛋白蛋白对接研究分子相互作用 课程名称:蛋白数据库 课程内容:1. PDB 数据库介绍 1.1 PDB蛋白数据库功能 1.2 …

Springboot整合jdbc_template

1.构建Springboot项目 利用springboot整合jdbctemplate,并不需要导入其他的依赖&#xff0c;具体的项目结构图如图 2.写domain层 数据库映射的实体类 package com.jkk.springboot_jdbc_template.domain;/*** author jkk*/import lombok.AllArgsConstructor; import lombok…

04 - C++学习笔记: 循环语句和跳转语句

在C编程中&#xff0c;循环语句和跳转语句是非常重要的控制结构。循环语句允许重复执行一段代码&#xff0c;而跳转语句允许在程序执行过程中改变执行的流程。本篇笔记将介绍C中常用的循环语句和跳转语句&#xff0c;并通过例子进行说明。 &#x1f501;循环类型 C 编程语言提…

查询子节点 postgresql

数据库为postgresql WITH RECURSIVE cte AS (SELECTn. ID,n. com_name,n."parentId" AS pidFROMcompany AS nWHEREn. ID = 2UNION ALLSELECTr. ID,r. com_name,cte. ID AS pidFROMcteJOIN company AS r ON r.

轻松实现邮箱验证码功能!快来体验Spring Boot的神奇力量!

邮件验证是现代互联网服务中常用的安全功能&#xff0c;本文介绍如何利用Spring Boot框架快速搭建一个高效易用的邮箱验证码功能。从配置邮箱>发送服务&#xff0c;到编写验证逻辑&#xff0c;无痛实现邮箱验证码功能轻而易举。快来掌握这个技能&#xff0c;加强您的应用安全…

论文解读 | CVPR 2020:PV-RCNN:用于三维物体检测的点体素特征集提取

原创 | 文 BFT机器人 论文《PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection》是一篇关于三维物体检测的论文。该论文提出了一种名为PV-RCNN的方法&#xff0c;用于从点云数据中进行三维物体检测&#xff0c;并在各种应用中取得了优秀的性能。 论文的主…

数据库第一章

一。数据库 1.概述 数据库database用来存储数据和管理数据的仓库 分类&#xff1a;关系型MySQL/非关系型Redis 关系型数据库&#xff08;二维表格模型&#xff09;&#xff1a;Oracle,MySQL,SQLServer,Access 非关系型数据库&#xff1a;MongoDB&#xff0c;Redis&#xf…

linux 文件锁flock与fcntl bytes级别精细控制不再是困难

​专栏内容&#xff1a; postgresql内核源码分析 手写数据库toadb 并发编程 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文件锁 概述 前面博客介绍了多任务下互斥的方法&#xff0c;如…

Docker容器的数据卷

Docker容器的数据卷 一、数据卷概念 概念&#xff1a;数据卷是宿主机中的一个目录或文件 当容器目录和数据卷目录绑定后&#xff0c;对方的修改会立即同步一个数据卷可以被多个容器同时挂载一个容器也可以挂载多个数据卷 可以解决以下问题 可以解决容器数据的持久化&#xff0…

高效学习法

目标明确&#xff0c;难度适中 全面&#xff1a;宏观概述&#xff0c;微观详尽 明确&#xff1a;目标要明确&#xff0c;否则陷入选择漩涡&#xff0c;导致大脑内耗。李白的“行路难&#xff0c;多歧路” 渐进&#xff1a;既要进步&#xff0c;也要逐步…

47 # 实现可读流

上一节讲了 fs.createReadStream 创建一个可读流&#xff0c;那么怎么查看它的源码是怎么实现的&#xff1f; 我们可以采用打断点的方式&#xff1a;我们可以看到先执行了 lazyLoadStreams 如果没有 ReadStream 就会 require 内部的 internal/fs/streams 模块 通过 internal/f…

免费开源 | 基于SpringBoot+Vue的物流管理系统

1-介绍 基于SpringBootvuemybatis-plus的简单的物流管理系统DEMO,前后端分离&#xff0c;可用于扩展基础&#xff0c;可用于简单课设&#xff0c;可用于基础学习 2-技术架构 SpringBootvuemybatis-plusmysql 8.0 3-使用说明 安装数据库demo/sql/wuliu.sql运行后端demo 1-…