开源 C++ QT Widget 开发(一)工程文件结构

发布于:2025-08-20 ⋅ 阅读:(18) ⋅ 点赞:(0)

文章的目的为了记录使用C++ 进行QT Widget 开发学习的经历。临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

相关链接:

开源 C++ QT Widget 开发(一)工程文件结构-CSDN博客

开源 C++ QT Widget 开发(二)基本控件应用-CSDN博客


 
推荐链接:

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

一个典型的 Qt 项目(特别是使用 Qt Widgets 或 Qt Quick 应用程序模板创建的项目)通常包含以下几类核心文件。

1.核心文件

2.目录和文件

3.编译调试

一、核心文件

这些是构成一个 Qt 项目最基本、最重要的文件。

1. 项目文件 .pro
作用:这是 Qt 项目的核心配置文件,类似于 CMake 的 CMakeLists.txt 或 QMake 的 Makefile。它告诉 qmake 如何为你的应用程序生成 Makefile。

内容示例:

#-------------------------------------------------
#
# Project created by QtCreator 2022-06-07T15:32:57
#
#-------------------------------------------------

QT       += core gui
RC_ICONS += logo.ico
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = 1_ctrl
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as 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 you use 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 \
        mainwindow.cpp

HEADERS += \
        mainwindow.h

FORMS += \
        mainwindow.ui

RESOURCES += \
    resources.qrc

2. 主程序入口 main.cpp
作用: 程序的入口点,负责初始化应用程序并启动事件主循环。


3. 主窗口头文件 mainwindow.h
作用: 声明主窗口类,包括其成员变量(如 UI 组件)和成员函数(如槽函数)。


4. 主窗口源文件 mainwindow.cpp
作用: 实现主窗口类中声明的构造函数、析构函数和成员函数(包括槽函数)。


5. 界面设计文件 mainwindow.ui
作用: 一个 XML 格式的文件,用于在 Qt Designer 中以拖拽的方式设计图形用户界面。它定义了窗口中的控件(按钮、标签等)、布局和它们的属性。

如何编辑: 在 Qt Creator 中双击此文件即可在集成的 Designer 中打开进行可视化编辑。你不需要手动编辑这个 XML 文件。

编译过程: 在构建项目时,qmake 会调用 uic(User Interface Compiler)工具将 .ui 文件编译成对应的 ui_xxxx.h 头文件(例如 ui_mainwindow.h),然后在 mainwindow.cpp 中包含并使用它。

6. 资源文件 resources.qrc
作用: 也是一个 XML 文件,用于将应用程序所需的静态资源(如图标、图片、声音、翻译文件 .qm 等)编译到最终的可执行文件中。这样做的好处是发布程序时不需要附带一堆零散的资源文件。

二、目录和文件

当你编译项目后,Qt Creator 会默认创建一个与源代码分离的构建目录(通常是 build-ProjectName-Desktop_Qt_...-Release/Debug)。这个目录包含:

Makefile: 由 qmake 生成的,用于指导 make 如何编译和链接项目。

debug/ 和 release/ 文件夹: 分别存放调试版和发布版的编译输出。

.o / .obj 文件: 源文件编译后的目标文件。

moc_xxxx.cpp: 元对象编译器(moc) 处理包含 Q_OBJECT 宏的头文件后生成的 C++ 源文件。这是 Qt 信号槽机制的基石。

ui_xxxx.h: 由 uic 工具从 .ui 文件生成的头文件。

qrc_xxxx.cpp: 由 rcc(Resource Compiler)工具从 .qrc 文件生成的源文件,它将资源数据转换为静态字节数组。

最终的可执行文件 .exe(Windows)或无后缀文件(Linux/macOS)。

三、运行调试


网站公告

今日签到

点亮在社区的每一天
去签到