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

1,QT的编译教程

目录

整体流程:

1,新建project文件

2,编写源代码

3,打开QT的命令行窗口

4,生成工程文件(QT_demo.pro)

5,生成Make file

6,编译工程

7,运行编译好的可执行文件


整体流程:

1,新建project文件

新建文本文件,后缀改为.cpp

2,编写源代码

#include <QApplication>
#include <QLabel>
#include <QLineEdit>
#include <QHBoxLayout>  // 水平布局
#include <QVBoxLayout>  // 垂直布局
#include <QWidget>
#include <QPushButton>  // 添加缺失的头文件int main(int argc, char *argv[])
{QApplication app(argc, argv);QLabel *infoLabel = new QLabel;QLabel *openLabel = new QLabel;QLineEdit *cmdLineEdit = new QLineEdit;QPushButton *commitButton = new QPushButton;QPushButton *cancelButton = new QPushButton;  // 修正为 QPushButtonQPushButton *browseButton = new QPushButton;infoLabel->setText("input cmd:");openLabel->setText("open");commitButton->setText("commit");cancelButton->setText("cancel");  // 现在可以正确调用 setTextbrowseButton->setText("browse");QHBoxLayout *cmdLayout = new QHBoxLayout;  // 水平布局对象cmdLayout->addWidget(openLabel);  // 修正拼写错误(addwidget -> addWidget)cmdLayout->addWidget(cmdLineEdit);QHBoxLayout *buttonLayout = new QHBoxLayout;buttonLayout->addWidget(commitButton);buttonLayout->addWidget(cancelButton);buttonLayout->addWidget(browseButton);QVBoxLayout *mainLayout = new QVBoxLayout;mainLayout->addWidget(infoLabel);mainLayout->addLayout(cmdLayout);mainLayout->addLayout(buttonLayout);QWidget w;w.setLayout(mainLayout);w.show();return app.exec();
}

3,打开QT的命令行窗口

此时路径为安装QT程序的路径,需要进入到工程文件下

4,生成工程文件(QT_demo.pro)

QT_demo.pro 是 ​​Qt 的项目配置文件​​(类似于 CMake 的 CMakeLists.txt 或 Visual Studio 的 .vcxproj),它告诉 Qt 如何编译你的程序,包括:

  • 需要哪些 ​​Qt 模块​​(如 widgetsguicore)。
  • 哪些 ​​源文件​​ 要编译(如 .cpp 文件)。
  • 哪些 ​​头文件​​ 要包含(如 .h 文件)。
  • 如何生成 ​​可执行文件​​ 或 ​​库​​。

​​为什么需要 .pro 文件?​​

Qt 使用 qmake 工具来生成 Makefile,而 qmake 需要 .pro 文件作为输入。
​​如果没有 .pro 文件,qmake 不知道如何编译你的代码,导致 QApplication 等头文件找不到。​​

输入指令:qmake -project

注:如果失败,请添加环境变量

E:\QT_Creator\5.15.1\mingw81_64\bin

修改:

添加:  QT += widgets gui

作用:用于在 .pro 文件中指定 Qt 模块。

QT += widgets gui 的作用​​

  1. ​​widgets​​

    • 提供 GUI 组件(如 QApplicationQPushButtonQLabel 等)。
    • ​​必须添加​​,否则会报错 QApplication: No such file or directory
  2. ​​gui​​

    • 提供图形界面基础功能(如 QPainterQPixmap)。
    • 通常会自动包含在 widgets 中,但显式声明更安全。

完整的 .pro 文件示例​:

# 指定 Qt 模块(widgets 和 gui)
QT += widgets gui# 项目类型(app 表示生成可执行程序)
TEMPLATE = app# 生成的可执行文件名
TARGET = QT_demo# 源文件(你的 .cpp 文件)
SOURCES += main.cpp# 头文件(如果有)
HEADERS += widget.h# 资源文件(如图片、qrc 文件)
RESOURCES += resources.qrc

5,生成Make file

指令:qmake

6,编译工程

指令:mingw32-make

7,运行编译好的可执行文件

双击运行QT_demo.exe即可

如果需要修改代码,只需要在修改后重新执行:mingw32-make

例如修改窗口标题名字:

http://www.xdnf.cn/news/725869.html

相关文章:

  • (18)混合云架构部署
  • 论文阅读笔记——FLOW MATCHING FOR GENERATIVE MODELING
  • 二、OpenCV图像处理-图像处理
  • QT-Creator安装教程(windows)
  • 【技能篇】RabbitMQ消息中间件面试专题
  • Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速
  • 世冠科技亮相中汽中心科技周MBDE会议,共探汽车研发数字化转型新路径
  • 农村土地承包经营权二轮延包—生成地块的KJZB字段
  • React---day5
  • Flutter 4.x 版本 webview_flutter 嵌套H5
  • 自证式推理训练:大模型告别第三方打分的新纪元
  • GitHub 趋势日报 (2025年05月29日)
  • FPGA管脚类型,及选择
  • Vue3处理number输入框避免NaN
  • 2025年渗透测试面试题总结-匿名[校招]攻防研究员(应用安全)(题目+回答)
  • 【解决办法】Git报错error: src refspec main does not match any.
  • 使用 SymPy 操作三维向量的反对称矩阵
  • STL解析——vector的使用及模拟实现
  • 缺页中断(Page Fault)详解
  • Marshalling与Demarshalling深度解析
  • PyTorch学习(1):张量(Tensor)核心操作详解
  • Trust Tickets(跨域信任票据):内网渗透中的Kerberos信任票据滥用技术
  • MacOs 安装局域网 gitlab 记录
  • VSCode无法转到定义python源码(ctrl加单击不跳转)
  • React 项目中封装 Excel 导入导出组件:技术分享与实践
  • TF 卡 U1 与 U3 的核心差异解析:从速度标准到应用场景
  • 单细胞注释前沿:CASSIA——无参考、可解释、自动化细胞注释的大语言模型
  • docker笔记
  • AI对软件工程的影响及未来发展路径分析报告
  • AI与软件工程结合的未来三年发展路径分析