# QtDeploy **Repository Path**: adminfern/QtDeploy ## Basic Information - **Project Name**: QtDeploy - **Description**: QT部署工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QtDeploy - Qt应用程序部署打包工具 ## 项目简介 QtDeploy是一个基于Qt6开发的Windows平台Qt应用程序部署打包工具,通过图形化界面调用Qt的windeployqt工具,简化Qt应用程序的打包发布流程。 ## 功能特性 ### 1. 环境检测 - 自动检测系统环境变量中的Qt配置 - 自动查找Qt安装目录和windeployqt工具 - 支持手动选择Qt安装目录 - 环境状态实时显示 ### 2. 打包配置 - 选择要打包的exe程序 - 支持QWidget和QML项目 - QML项目可指定QML源码目录 - 可选择输出目录 ### 3. 部署执行 - 一键执行打包 - 实时显示执行日志 - 支持取消正在进行的打包任务 - 打包结果状态提示 ### 4. 用户界面 - 基于QWidget的原生界面 - 清晰的操作流程 - 实时状态反馈 - 详细的日志输出 ## 技术栈 - **Qt版本**: Qt 6.x - **构建系统**: CMake 3.16+ - **UI框架**: QWidget(原生Qt组件) - **编译器**: MinGW (推荐) / MSVC - **C++标准**: C++17 ## 项目结构 ``` QtDeploy/ ├── CMakeLists.txt # CMake构建配置 ├── README.md # 项目说明文档 ├── build.bat # Windows构建脚本 ├── src/ # 源代码目录 │ ├── main.cpp # 程序入口 │ ├── core/ # 核心模块 │ │ ├── pathvalidator.* # 路径验证器 │ │ ├── envdetector.* # 环境检测器 │ │ ├── processrunner.* # 进程执行器 │ │ └── deploymanager.* # 部署管理器 │ ├── models/ # 数据模型 │ │ ├── qtenvironment.h # Qt环境信息 │ │ └── deployconfig.h # 部署配置 │ └── ui/ # UI界面 │ ├── mainwindow.* # 主窗口 │ ├── envconfigwidget.* # 环境配置面板 │ ├── deployconfigwidget.* # 部署配置面板 │ └── logwidget.* # 日志面板 ``` ## 构建步骤 ### 前置要求 1. 安装Qt 6.x(推荐Qt 6.5或更高版本) 2. 安装CMake 3.16或更高版本 3. 安装MinGW编译器(Qt安装包中包含) 4. 配置Qt环境变量 ### 构建命令 #### 1. 创建构建目录 ```bash mkdir build cd build ``` #### 2. 生成构建文件 使用MinGW编译器: ```bash cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .. ``` 使用MSVC编译器: ```bash cmake -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release .. ``` #### 3. 编译项目 使用MinGW: ```bash mingw32-make ``` 使用MSVC: ```bash cmake --build . --config Release ``` #### 4. 运行程序 编译完成后,可执行文件位于: - MinGW: `build/QtDeploy.exe` - MSVC: `build/Release/QtDeploy.exe` ## 使用说明 ### 1. 启动程序 运行QtDeploy.exe,程序会自动检测Qt环境。 ### 2. 配置Qt环境 - **自动检测**:程序启动时会自动检测Qt环境 - **手动选择**:如果自动检测失败,点击"浏览"按钮选择Qt安装目录 - **验证成功**:状态显示绿色表示环境配置成功 ### 3. 配置打包参数 1. **选择目标程序**:点击"浏览"选择要打包的exe文件 2. **选择输出目录**:(可选)选择打包输出目录 3. **QML项目**:如果是QML项目,勾选"QML项目"并选择QML源码目录 ### 4. 执行打包 点击"开始打包"按钮,程序会: 1. 验证配置参数 2. 执行windeployqt命令 3. 实时显示执行日志 4. 完成后显示结果状态 ### 5. 查看日志 在右侧日志面板可以查看详细的执行过程和输出信息。 ## 界面说明 ### 主窗口布局 - **顶部**:菜单栏(文件、帮助) - **左侧**: - Qt环境配置面板 - 打包配置面板 - **右侧**:执行日志面板 - **底部**:状态栏和操作按钮 ### 环境配置面板 - Qt安装目录输入框 - 浏览按钮:手动选择Qt目录 - 自动检测按钮:自动查找Qt环境 - 重置按钮:清除当前配置 - 状态显示:显示检测结果 ### 打包配置面板 - 目标程序:选择要打包的exe文件 - 输出目录:选择输出位置(可选) - QML项目:勾选后显示QML目录选择 - QML目录:选择QML源码目录 ### 日志面板 - 日志文本框:显示执行过程 - 清空日志按钮:清除日志内容 ## 常见问题 ### Q: 程序提示"未找到Qt安装目录"? A: 请检查: 1. Qt是否正确安装 2. Qt的bin目录是否添加到PATH环境变量 3. 尝试手动选择Qt安装目录 ### Q: 打包失败怎么办? A: 请检查: 1. 目标exe文件是否存在且为Qt程序 2. Qt环境是否正确配置 3. 查看日志面板的错误信息 ### Q: QML项目打包后运行缺少QML模块? A: 请确保: 1. 勾选了"QML项目"选项 2. 正确选择了QML源码目录 3. QML目录包含所有需要的.qml文件 ## 开发说明 ### 代码规范 - 所有文件包含规范的文件头注释 - 公共方法包含Doxygen格式注释 - 使用Qt父子对象机制管理内存 - 遵循Qt编码规范 ### 模块说明 - **PathValidator**: 路径验证工具类 - **EnvDetector**: Qt环境检测器 - **ProcessRunner**: 外部进程执行器 - **DeployManager**: 部署流程管理器 - **MainWindow**: 主窗口 - **EnvConfigWidget**: 环境配置面板 - **DeployConfigWidget**: 部署配置面板 - **LogWidget**: 日志显示面板 ## 许可证 本项目仅供学习和参考使用。 ## 版本历史 ### v1.0.0 (2024-03-16) - 初始版本发布 - 实现基本的Qt环境检测功能 - 实现QWidget和QML项目打包功能 - 使用QWidget原生组件实现图形化用户界面 ## 联系方式 如有问题或建议,请提交Issue。