QT从入门到实战x篇_02_创建第一个Qt工程:创建工程、代码含义、模块、命名规范、快捷键、帮助文档快捷方式

1.创建一个Qt工程
请参考之前的文章:如何在qcreate中创建一个程序?
2.程序中代码的具体含义:
整体结构如下:
在这里插入图片描述
(1).pro文件
就是一个工程文件,其中一般不要加注释
低版本的.pro解释
.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。.pro文件的写法如下:

  • 注释
    从“#”开始,到这一行结束。
  • 模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = app
    (1)app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
    (2)lib - 建立一个库的makefile。
    (3)vcapp - 建立一个应用程序的VisualStudio项目文件。
    (4)vclib - 建立一个库的VisualStudio项目文件。
    (5)subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
  • #指定生成的应用程序名:
    TARGET = QtDemo
  • #工程中包含的头文件 系统自动生成的
    HEADERS += include/painter.h
  • #工程中包含的.ui设计文件
    FORMS += forms/painter.ui
  • #工程中包含的源文件 系统自动生成的
    SOURCES += sources/main.cpp sources
  • #工程中包含的资源文件
    RESOURCES += qrc/painter.qrc
  • greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    这条语句的含义是,如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照QtCreator生成的语句编写。
  • #配置信息
    CONFIG用来告诉qmake关于应用程序的配置信息。
    CONFIG += c++11 //使用c++11的特性
    在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。

5.14.2中的.pro文件

QT       += core gui  //程序中的模块
//大于4版本以上 包含widget模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

CONFIG += c++11

# 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 \
    widget.cpp

HEADERS += \
    widget.h

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

Qt中的模块
在这里插入图片描述
(2)main.cpp

#include "widget.h"

#include <QApplication> //包含一个应用程序的类

//main程序入口 argc命令行变量的数量 argv命令行变量的数组
//argc,argv将电脑中的获取各种操作指令,即把不同的命令行内容传递给main函数
int main(int argc, char *argv[])
{
    //此处argc,argv将电脑的指令传给a对象
    //a为应用程序对象,在Qt中应用程序对象 有且只有一个
    QApplication a(argc, argv);
    //窗口对象 Widget父类为QWidget
    Widget w;
    //窗口对象 默认不会显示 必须要调用show方法显示窗口
    w.show();
    //让应用程序对象进入到消息循环机制,一直在捕捉动作
    //可以等价为一个死循环,一直在等待客户动作
    //让代码阻塞到这行
    return a.exec();
}

//return a.exec();等价为如下的死循环
//一直在执行,只有点击叉子才会跳出
//while(treue)
//{
//    if(点击叉子){break;}
//}

(3)widget.h

#ifndef WIDGET_H  //避免头文件重复包含 没有定义的话就定义
#define WIDGET_H

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

class Widget : public QWidget
{
    //Q_OBJECT宏 允许类中使用信号和槽的机制 但是怎么通过宏控制的呢
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);//构造函数
    ~Widget();//析构
};
#endif // WIDGET_H

(4)widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent) //初始化列表,在.h文件中parent值为nullptr
{
}

Widget::~Widget()
{
}

3. 命名规范
//类名:首字母大写 单词与单词之间的首字母大写
//函数名 变量名:首字母小写 单词与单词之间的首字母大写

4. 快捷键 Qtcreator中常用快捷键总结

5. 帮助文档
单独创建一个帮助文档的快捷方式:
D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\assistant.exe
在这里插入图片描述
6.学习视频地址:
创建第一个Qt工程1
创建第一个Qt工程2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值