当前位置: 首页 > 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

例如修改窗口标题名字:

相关文章:

  • Go语言结构体:数据组织的艺术
  • STL_stack和queue(deque priority_queue)
  • HTML网页-练习float
  • Java 注解式限流教程(使用 Redis + AOP)
  • 【C++】C++面向对象设计的核心思想之一: 接口抽象、解耦和可扩展性
  • 【仿生机器人软件架构】通过整合认知系统实现自主精神性——认知系统非常具有可执行性
  • 深入解析 Redis Cluster 架构与实现(二)
  • python打卡day40@浙大疏锦行
  • AWS云创建安全审计用户组
  • 扫地机器人苦寻新引擎,大疆们却已攻入腹地
  • 基于微服务架构的社交学习平台WEB系统的设计与实现
  • 【交通 Traffic Transformer】同一篇文章,内容排版稍有不同 | 交通预测模型中,Transformer相比传统GCN模型有何优势?
  • 基于Vite的前端自动化部署方案
  • AI绘画提示词:解锁创意无限可能
  • 在Linux上安装Docker并配置镜像加速器:从入门到实战
  • C++面试题:Linux系统信号详解
  • 01流程定位
  • 信息化项目验收测试:MES 系统验收测试的测试重点
  • DeepSeek R1 模型小版本升级,DeepSeek-R1-0528都更新了哪些新特性?
  • 【Netty系列】Reactor 模式 1
  • 网站怎么做关键词内链/今日头条搜索优化怎么做
  • c 可以做网站吗/西安企业seo
  • 网站的页脚什么做/做好的网站怎么优化
  • 网站按钮确定后图片怎么做/搜索引擎的设计与实现
  • 网站icp备案时间/it培训四个月骗局
  • 做网站如何链接邮箱/网络服务商怎么咨询