qt创建新工程

创建qt控件应用程序




程序解读

main.cpp文件

cpp 复制代码
// main.cpp
#include "widget.h"

// QT应用头文件
#include <QApplication>

// 主函数,argc命令行参数个数,argv命令行参数字符串数组(指针数组)
int main(int argc, char *argv[])
{
		// QApplication是应用程序类,a是对象,应用程序对象有且只有一个
		// 必须把main函数的参数(argc, argv)传递给a对象
    QApplication a(argc, argv);
    Widget w;	// 窗口类,Qt提供了一个QWidget类
    w.show();	// 显示窗口
    // 等同于return a.exec();即应用程序消息循环,相当于while循环
    return QCoreApplication::exec();
}

widget.h文件

cpp 复制代码
// widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

// Widget 公有继承自 QWidget 类
class Widget : public QWidget
{
    Q_OBJECT	// 要使用信号与槽机制,必须包含该宏

public:
    explicit Widget(QWidget *parent = nullptr);// 构造函数,父类指针parent的默认值为nullptr
    ~Widget() override;// 析构函数
};
#endif // WIDGET_H

widget.cpp文件

cpp 复制代码
// widget.cpp
#include "widget.h"

// 构造函数
Widget::Widget(QWidget *parent)
    : QWidget(parent) // 构造函数参数初始化列表
{}

// 析构函数
Widget::~Widget() = default;

项目文件(.pro)

c 复制代码
# 项目编译的时候需要加载的模块
QT += widgets

# 配置:加上C++17才能在代码中使用C++17版本的特性
CONFIG += c++17

# 如果定义该宏,当项目中使用了过时的api(函数),将会被视为错误
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

# 项目中的源文件 .cpp文件
SOURCES += \
    main.cpp \
    widget.cpp

# 项目中头文件 .h文件
HEADERS += \
    widget.h

# qnx嵌入式、unix系统部署规则
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
相关推荐
大圣编程5 小时前
Java 多维数组详解
java·开发语言
殳翰7 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星8 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere8 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
青瓦梦滋8 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
2601_961593428 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
HZZD_HZZD9 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
多加点辣也没关系11 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃11 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
yqcoder11 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript