文章的目的为了记录使用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)。
三、运行调试