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

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父类 =》  QWidegtmyMainWindow 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.0SOURCES += \         #源文件main.cpp \mymainwindow.cppHEADERS += \         #头文件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切换  F4myMainWindow::myMainWindow(QWidget *parent)   //默认函数值在头文件里和原文件里只有一个存在默认值,这里是一个构造函数的意思,主要是对对象parent初始化,这里继承了父类的默认值0: QWidget(parent)
{
}myMainWindow::~myMainWindow()
{
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GaussDB OLTP云数据库配套工具DDM

目录 一、前言 二、DDM定义 三、DDM业务架构 四、为什么需要DDM? 五、DDM特性 六、DDM应用场景 一、前言 现在越来越多的企业应用在逐步向云平台迁移&#xff0c;同时这对云平台带了一个严峻的考验和挑战。但针对华为云GaussDB数据库&#xff0c; 我们在生态方面做了比…

数据治理平台怎样进行数据治理?做数据治理公司推荐

在大数据蓬勃发展的时代&#xff0c;有很多数据问题&#xff0c;如数据质量不高、数据共享程度较低&#xff0c;那如何提升数据质量&#xff0c;怎样进行数据治理呢&#xff1f; 数据治理在实施过程中会牵涉到很多部门&#xff0c;那如何进行数据治理呢&#xff1f; 1.梳理企业…

在VMware Workstation虚拟机上安装centos服务,并使用xshell连接centos服务。

一、安装VMware Workstation 可前往http://www.kkx.net/soft/22239.html&#xff0c;附带有下载链接&#xff0c;和对应的破解码。 二、下载centos .iso格式文件 前往https://mirrors.aliyun.com/centos/7/isos/x86_64/下载。 以下两个&#xff0c;选择哪一个都行。 记得要下…

【若依框架学习】day1-启动项目

若依开源框架&#xff0c;前后端分离项目&#xff0c;地址&#xff1a;http://doc.ruoyi.vip/ruoyi-vue/ 先配置环境 JDK1.8&#xff0c; MySQL5.7 &#xff0c;Maven3.6&#xff0c;redis、nginx(可以不配)、 node 具体见&#xff1a;https://ygstriver.blog.csdn.net/articl…

解决使用idea的maven打包springboot项目时,“不支持版本号17”的问题

问题描述 在idea里面使用maven的package功能&#xff0c;对一个springboot项目打包jar包时&#xff0c;出现了“不支持版本号17”的错误 经排查&#xff0c;本地确实装了jdk17的&#xff0c;而且运行mvn -version也提示有java 17 解决办法 最后发现&#xff0c;可能是idea…

0073. 矩阵置零

73. 矩阵置零 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;解法一&#xff1a;构造一个同等规模的二维数组&#xff0c;即所谓的m*n解法二&#xff1a; int row[] new int[m]; int col[] new int[n];解法三&#xff1a;常数量级 参考代码&#xff1a; 原题…

PaoPao泡泡清新文艺的微社区系统源码

泡泡是一个真正意义上高性能的微社区&#xff0c;虽然规模不大却拥有完备的功能。 该系统采用了GoZinc架构&#xff0c;前端使用Vue3进行构建&#xff0c;采用清新简洁的设计风格&#xff0c;布局类似Twitter的三栏设计。 后端服务使用Go编写&#xff0c;仅占用8MB的内存&…

小程序的剪贴板 实现复制文本功能

小程序的剪贴板 实现复制文本功能 wx.setClipboardData wx.setClipboardData() 设置系统剪贴板的内容。调用成功后&#xff0c;会弹出 toast 提示"内容已复制"&#xff0c;持续 1.5s Promise 风格 调用&#xff1a;支持微信 Windows 版&#xff1a;支持微信 Mac 版&…

新手入门深度学习 | 6-2:AlexNet(2012)详解

&#x1f517; 运行环境&#xff1a;python3&#x1f6a9; 作者&#xff1a;K同学啊&#x1f947; 精选专栏&#xff1a;《深度学习100例》&#x1f525; 推荐专栏&#xff1a;《新手入门深度学习》&#x1f4da; 选自专栏&#xff1a;《Matplotlib教程》&#x1f9ff; 优秀专栏…

K8S-二进制部署

二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a;192.168.22.10 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.22.20 k8s集群node01&#xff1a;192.168.22.11 kubelet kube-proxy docker k8s集群node02&#x…

30分钟,认识 html 本质

30分钟&#xff0c;认识 html 本质 html 是什么&#xff1f;html 起源html 发展标签分类空间占用方式布局文本修饰流媒体标签 预定义符号 Symbols弃用的部分标签学习 html html 是什么&#xff1f; HTML的英文全称是 Hyper Text Markup Language&#xff0c;即超文本标记语言。…