当前位置: 首页 > news >正文

c++ qt开发第一天 hello world

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
// 头文件保护宏,防止 mainwindow.h 被重复包含造成重复定义

#include <QMainWindow>
// 引入 Qt 中的主窗口类 QMainWindow

QT_BEGIN_NAMESPACE
// Qt 命名空间开始(用于兼容 Qt4 / Qt5 / Qt6)

namespace Ui {
class MainWindow;
}
// 声明 Ui 命名空间中的 MainWindow 类
// 该类由 Qt Designer 生成,对应 mainwindow.ui 文件

QT_END_NAMESPACE
// Qt 命名空间结束

class MainWindow : public QMainWindow
// MainWindow 类继承自 QMainWindow,表示一个主窗口
{
Q_OBJECT
// Qt 元对象宏,必须存在
// 用于支持信号与槽、事件机制等 Qt 特性

public:
explicit MainWindow(QWidget *parent = nullptr);
// 构造函数
// parent 是父窗口指针,默认为空(顶层窗口)

~MainWindow();
// 析构函数,用于释放资源

private:
Ui::MainWindow *ui;
// 指向界面对象的指针
// 用于访问 ui 中设计的控件(按钮、标签等)
};

#endif // MAINWINDOW_H
// 结束头文件保护

main.c

#include "mainwindow.h"
// 引入主窗口类的头文件

#include <QApplication>
// 引入 Qt 应用程序类 QApplication
// 每个 Qt GUI 程序都必须且只能有一个 QApplication 对象

int main(int argc, char *argv[])
{
// 程序入口函数
// argc:命令行参数个数
// argv:命令行参数数组

QApplication a(argc, argv);
// 创建 Qt 应用程序对象
// 负责管理应用程序级资源、事件循环等

MainWindow w;
// 创建主窗口对象

w.show();
// 显示主窗口(如果不调用,窗口不会显示)

return a.exec();
// 进入 Qt 事件循环
// 程序将在此处等待并处理用户事件
// 当窗口关闭时,exec() 返回,程序结束
}

mainwindow.cpp

#include "mainwindow.h"
// 引入主窗口类的头文件,包含类声明

#include "ui_mainwindow.h"
// 引入 Qt Designer 自动生成的界面头文件
// 该文件定义了 Ui::MainWindow 类

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent) // 调用父类 QMainWindow 的构造函数
, ui(new Ui::MainWindow) // 动态创建界面对象
{
ui->setupUi(this);
// 初始化界面
// 将 ui 文件中设计的控件加载到当前 MainWindow 对象中
}

MainWindow::~MainWindow()
{
delete ui;
// 释放界面对象,防止内存泄漏
}

http://www.jsqmd.com/news/205459/

相关文章:

  • 智能高效!一键完成Chrome浏览器完整网页长截图终极指南
  • YuukiPS启动器完全指南:5步搞定原神多账号管理难题
  • Sunshine云游戏终极指南:开启跨设备游戏新时代
  • 【西南交通大学、江西科技师范大学先进电子材料与器件江西省重点实验室主办,有保障 | SPIE出版,同时拥有双刊号,往届均已见刊EI检索】第五届电子信息工程与数据处理国际学术会议(EIEDP 2026)
  • 免费图像矢量化工具:PNG转SVG的完整使用指南
  • 游戏串流终极指南:3步打造你的私人云游戏帝国!
  • ncmdumpGUI深度解析:高效实现网易云音乐NCM文件跨平台播放的专业解决方案
  • 【VSCode高手进阶】:构建个性化多模型开发环境的7个步骤
  • Python环境管理难题如何破解?智能版本切换工具深度体验
  • ncmdumpGUI:网易云音乐NCM文件解密转换终极教程
  • 陕西GEO优化厂商TOP1——灵怡云GEO,豆包上春晚,一场全民AI搜索习惯的大教育即将开始
  • Transformer架构拆解:AI用通俗语言讲清注意力机制
  • 手机号查询QQ号码的完整教程:3分钟掌握实用技巧
  • 网页截图革命:告别手动拼接,3分钟搞定完整页面保存
  • 如何快速将PNG转换为SVG:vectorizer终极使用指南
  • SMUDebugTool终极教程:轻松掌握AMD锐龙处理器性能优化
  • 2026年深圳宝安区及大湾区跨境电商产业园区推荐与选择指南:聚焦办公室租赁关键指标,甄选靠谱服务商 - 品牌2026
  • GBase云数仓荣誉入选《2025中国云生态典型应用案例集》
  • 基于单片机红外探测漏水检测报警系统设计
  • YuukiPS启动器深度解析:3大核心技巧提升原神游戏体验
  • 突破限制!ncmdumpGUI网易云音乐NCM文件完美解密指南
  • 安装mysql 8.0.32
  • 2026热门的真空系统厂家有哪些?高真空机组厂家有哪些? - 栗子测评
  • 如何快速解锁网易云音乐NCM文件:ncmdumpGUI完整使用指南
  • 2025年纳米激光粒度仪供货厂家权威推荐榜单:1纳米粒度仪/1激光粒度仪/1纳米电位仪/1激光粒度分析仪/1粒度仪源头厂家精选 - 品牌推荐官
  • 手机号查询QQ号的终极指南:3分钟快速掌握实用技巧
  • 2026涂层测厚仪品牌厂家推荐top榜,排名前3哪家好? - 品牌推荐大师1
  • 打火机干检机技术创新,为您推荐几家国内国产质量好的生产厂家 - 品牌推荐大师
  • Sunshine云游戏终极指南:免费打造全平台游戏串流系统
  • Sunshine游戏串流终极指南:打造你的专属云游戏平台