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

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

 相关链接:

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

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

开源 C++ QT Widget 开发(三)图表--波形显示器-优快云博客

开源 C++ QT Widget 开发(四)文件--二进制文件查看编辑-优快云博客

 开源 C++ QT Widget 开发(五)通讯--串口调试-优快云博客

开源 C++ QT Widget 开发(六)通讯--TCP调试-优快云博客

开源 C++ QT Widget 开发(七)线程--多线程及通讯-优快云博客

开源 C++ QT Widget 开发(八)网络--Http文件下载-优快云博客

开源 C++ QT Widget 开发(九)图表--仪表盘-优快云博客

开源 C++ QT Widget 开发(十)IPC进程间通信--共享内存-优快云博客

开源 C++ QT Widget 开发(十一)进程间通信--Windows 窗口通信-优快云博客

开源 C++ QT Widget 开发(十二)图表--环境监测表盘-优快云博客

开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)

开源 C++ QT Widget 开发(十四)多媒体--录音机

开源 C++ QT Widget 开发(十五)多媒体--音频播放


 
推荐链接:

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

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

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

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

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

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

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

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

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

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

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

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

推荐链接:

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

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

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

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

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

本章主要内容:Qt 项目(特别是使用 Qt Widgets 或 Qt Quick 应用程序模板创建的项目)通常包含以下几类核心文件。

    1.核心文件

    2.目录和文件

    3.编译调试

    4.Qt安装问题

    一、核心文件

    这些是构成一个 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)。

    三、运行调试

    四、Qt安装问题

    针对Qt5.14.2下载时出现“Download from your IP address is not allowed”的问题,以下是综合解决方案:

    1. 使用迅雷下载离线安装包

    Qt离线安装包的URL地址有规律可循,可通过迅雷直接下载。以下是各平台示例地址:

    • Windows:https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe‌12
    • macOS:https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg‌13
    • Linux:https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-linux-x64-5.14.2.run‌13
      源码包地址:https://download.qt.io/archive/qt/5.14/5.14.2/single/qt-everywhere-src-5.14.2.tar.xz‌16。

    2. 断网安装跳过登录验证

    若使用在线安装包,可在安装时禁用网络(通过禁用以太网或Wi-Fi),避免强制登录Qt账号的步骤‌78。

    3. 其他版本替代方案

    若需其他版本,可参考以下地址规律:

    • Qt5.12:https://download.qt.io/archive/qt/5.12/5.12.12/qt-opensource-windows-x86-5.12.12.exe‌36
    • Qt5.9:https://download.qt.io/new_archive/qt/5.9/5.9.9/qt-opensource-windows-x86-5.9.9.exe‌12。

    4. 注意事项

    • 安装路径建议全英文,避免C盘空间不足‌89。
    • 组件选择时,Windows用户需根据编译器类型勾选MSVC或MinGW‌1011。
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
    红包 添加红包
    表情包 插入表情
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值