(Qt Installer Framework)程序简易打包教程

2023-11-09

(Qt Installer Framework)程序简易打包教程

第一步:下载Qt Installer Framework

  1. 网址: http://download.qt.io/official_releases/qt-installer-framework/

  2. 选择2.0.3文件夹,跳转页面选择QtInstallerFramework-win-x86版本,还可可根据目标操作系统,分别选择win,mac,linux版本的打包程序

第二步 打包程序安装和环境变量的配置

  1. 安装QtInstallerFramework-win-x86.exe到指定目录, 本教程安装到D:\Qt

  2. 配置环境变量路径 右键计算机—>属性—–>高级选项卡—->环境变量—->系统变量,添加变量Path的值:D:\Qt\QtIFW2.0.3\bin

  3. 添加Qt installer framework Manual帮助文档到qt creator. 单击qt creator菜单工具—>选项—>左侧选中帮助—>右侧选文档选项卡,单击添加按钮,选中已安装的文档路径.选中ifw.qch文件,然后单击apply,最后单击ok确认。

添加后,就可在帮助索引目录找到Qt Installer Framework Manual

第三步:准好要打包的程序

  1. 注意,qt编译生成release版本程序,默认的exe目录不带一些依赖动态库,笨拙的方法是用Depends.Exe工具查看exe所依赖的库,都拷贝到exe的所在目录,这样就准备好了程序安装的必要文件。更为聪明的做法是用qt自带的工具windeployqt.exe,该执行程序的路径在D:\Qt\Qt5.5.1_msvc2010\5.5\msvc2010\bin下。路径根据qt的安装目录来确定。打开qt命令行窗口,开始菜单里面找,Qt 5.5 32-bit for Desktop…, 命令格式: windeployqt.exe D\exmple.exe(完整文件路径)

工具运行前的目录如下:

工具运行后目录如下图:

发现运行后程序目录已经自动补齐了所有依赖库文件

第四步:以D:\Qt\QtIFW2.0.3\examples\startmenu这个例子为参照,修改自己要打包的程序

  1. 将D:\Qt\QtIFW2.0.3\examples\startmenu文件夹拷贝到桌面,用编辑器打开C:\Users\pc\Desktop\startmenu\config\config.xml文件,修改如下(箭头指示部分)

  2. 用编辑器打开C:\Users\pc\Desktop\startmenu\packages\org.qtproject.ifw.example\meta\installscript.qs

  3. 用编辑器打开C:\Users\pc\Desktop\startmenu\packages\org.qtproject.ifw.example\meta\package.xml

  1. 将要打包的程序文件拷贝至C:\Users\pc\Desktop\startmenu\packages\org.qtproject.ifw.example\data

  2. 打包程序,打开qt命令窗口,转到C:\Users\pc\Desktop\startmenu目录, 然后敲如下命令生成名为DuPaintInstaller.exe的安装包. 命令格式在C:\Users\pc\Desktop\startmenu\README文件中有说明

打包成功如下图,DuPaintInstaller就是安装包:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(Qt Installer Framework)程序简易打包教程 的相关文章

  • Qt 5.5 QOpenGLWidget 链接错误未链接任何 openGL 调用

    我尝试使用 Qt 5 5 1 构建一个简单的 OpenGL 应用程序 一切都很好 直到我尝试使用 glClearColor 等 openGL 本机函数调用 该小部件实际上编译并产生黑屏 但在我尝试使用任何 openGL 本机函数后 它甚至不
  • 另一个宏中的 Q_PROPERTY 宏

    如何放置Q PROPERTY另一个宏里面 辅助宏 define SimpleAllinOne member type public void Set member type arg member m member arg member ty
  • 如何从浮点数组创建新的 QImage

    我有一个代表图像的浮点数数组 列在前 我想在 QGraphicsSecene 上将图像显示为 QPixmap 为了做到这一点 我尝试使用 QImage 构造函数 QImage const uchar data int width int h
  • 我应该使用 QCoreApplication::processEvents() 还是 QApplication::processEvents()?

    我有一个从两者调用的方法QThreads和主线程 这个方法有时可能需要很长时间才能在循环中进行计算 所以我把QCoreApplication processEvents 这可以防止 GUI 冻结 在某个时刻我已经改变了QCoreApplic
  • 无法将 QList 分配给 QString

    我遇到这个错误 Unable to assign QList
  • 如何在 QT 中绘制点?

    我正在用 QT 用 C 编写一个应用程序 其中有 n 个点并计算它的凸包 然而 一旦计算出来 我不知道如何绘制点并绘制船体的边界 制作菜单按钮等很简单 但我不确定我是否知道执行此操作的工具 你怎么做到这一点 图形视图 addEllipse
  • 如何使 Python、QT 和 Webkit 在无头服务器上工作?

    我有 Debian Linux 服务器 我用它来做各种事情 我希望它能够完成一些我需要定期完成的网络抓取工作 这段代码可以是在这里找到 http bit ly QeqvzX import sys from PyQt4 QtGui impor
  • 在没有加载器的情况下实例化内联组件

    有没有办法实例化内联Component 即在同一文件中定义 而不使用Loader 我不太关心使用的性能影响Loader因为我要用很多东西污染我的文件Loader包装纸 我发现从 JavaScript 创建动态 QML 对象 http doc
  • 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以进行分发?

    跟进这个答案 https stackoverflow com a 20918932 368896 to 这个问题 https stackoverflow com questions 20909341 what is the fastest
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 如何在Qt 5中的paintEvent上使用mouseMoveEvent?

    我是 Qt 和 c 的新手 所以我遇到了一些困难 我正在尝试创建一个小部件 它可以获取 mouseMoveEvent 位置并在鼠标位置的像素图上绘制椭圆 下面你可以看到代码 include myimage h include
  • C++ SQL 查询构建库

    我正在寻找一个提供与 c SelectQueryBuilder 库类似功能的 c 库 http www codeproject com Articles 13419 SelectQueryBuilder Building complex a
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • QTableView 并双击一个单元格

    我正在开发测试用例编辑器 该编辑器包含 USART 传输和接收数据包格式 编辑器是一个表格视图 发送和接收数据包的长度为八个字节 例如 0x01 0x02 0x03 0x08 它在我的第五和第六栏中 现在 我希望此列中的单元格为只读 但是当
  • PyQt4 QPalette 不工作

    btn QtGui QPushButton Button self palettes btn palette palettes setColor btn backgroundRole QtCore Qt green btn setPalet
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap

随机推荐

  • A卡2023最新AI画图教程:3A主机安装ROCm运行Stable Diffusion画图

    硬件平台 3A主机 内存16G 显卡 AMD RX6700 XT 12GB 华擎幻影电竞 处理器 AMD R5 3500X 6C6T 主板 华硕TUF B450M PRO GAMING 安装Ubuntu22 04 2 LTS系统 更换系统源
  • MySQL的索引

    MySQL 的索引 1 索引的使用 1 1 什么是索引 1 2 如何创建索引 1 2 1 ALTER TABLE 1 2 2 CREATE INDEX 1 2 3 CREATE TABLE 1 2 4 创建索引的注意事项 1 3 索引类型
  • Python数据分析-房价预测及模型分析

    摘 要 Python数据分析 房价的影响因素图解https blog csdn net weixin 42341655 article details 120299008 spm 1001 2014 3001 5501 上一篇OF讲述了房价
  • SpringBoot +Hadoop3.0.3 mapreduce 实例

    第一步 编码过程 项目结构 pom xml 依赖jar文件
  • Linux 实操篇-实用指令

    Linux 实操篇 实用指令 指定运行级别 基本介绍 运行级别说明 0 关机 1 单用户 找回丢失密码 2 多用户状态没有网络服务 3 多用户状态有网络服务 4 系统未使用保留给用户 5 图形界面 6 系统重启 常用运行级别是3 和5 也可
  • 第二节:数据类型——number和string

    上节回顾 undefined为window的属性 有些程序会在函数开始置定义一个var undefined 这是因为undefined是window的一个属性 当你判断某一个东西是不是undefined的时候 计算机会到window中整体去
  • Oracle 创建、暂停、更改、删除 定时任务job

    oracle job 用来在数据库层面 定时执行存储过程或者是 SQL 语句 创建 暂停 修改 删除 job 查询 当前库中运行的 job SELECT t FROM dba jobs t 创建一个 定时任务 job declare job
  • 【Django快速开发实战】(52~76)使用Django创建一个基础应用:职位管理系统

    52 生产环境要注意哪些事项 生产环境的应用部署 单元测试 老师的testcase test views py from django test import TestCase from django test import Client
  • 卷积神经网络原理简述

    1 CNN原理 卷积神经网络主要应用在图像识别领域中 是指非某类网络的集合 其中包含了多种不同类型的结构 不同网络结构 其性能一般也会有所不同 通过对CNN几种典型架构的研究 我们可以发现这些网络创造者们极富创意 其中许多架构十分精巧 他们
  • Java从入门到实战总结-4.1、数据库基础

    Java从入门到实战总结 4 1 数据库基础 文章目录 Java从入门到实战总结 4 1 数据库基础 第一章 数据库简介 1 1 简介 1 2 常见数据库管理系统 1 3 三大范式 规范 1 4 MySQL安装和卸载 1 4 1 windo
  • 使用cisco 2500路由器实现ADSL接入

    使用cisco 2500路由器实现ADSL接入 此案例配置共分7步 第一步 配置vpdn vpdn enable 启用路由器的虚拟专用拨号网络 d vpdn group office 建立一个vpdn组 request dialin 初始化
  • 【Causality】结构因果下的反事实基本框架

    在之前 博主整理了因果关系之梯第二层 干预的定义 意义 用法 详见以下链接 但干预的目标是找到研究中处理的某个总效应或者在某些样本群体中的效应 平均因果效应 到目前为止我们无法在特定时间谈论个性化的因果关系 而在实际的任务中 我们通过训练集
  • echart 图谱_vue + echarts 实现有层级关系图的图谱

    因为接下来要做的事是一个关系图的东西 所以自己先写一个小demo 特次记录一下 主要实现的点有如下 节点的颜色的更改 自定义提示框配置 以及在里面的点击事件 提示框中的点击事件可以获取到vue实例 图列的自定义 先上效果图 截屏2020 1
  • 记录一些IDEA常用的快捷键和技巧 二(界面布局)

    创建项目 会开启一个进入默认布局界面 如下图 左边依次为 Project视图 Favorites视图以及Structure视图 其中主要关注Project视图 创建Package要注意 将project 右上角齿轮勾选 Flatten Pa
  • 小白入门级知识点:移动app安全测试怎么做?

    随着科技时代的进步和智能手机的普及 现代人离不开手机已经是常态化 一旦手机不在身边便会失去安全感 提到安全一词 我们在使用手机app软件时 安全至关重要 软件里包含的个人信息 资料等等都和安全挂钩 那么在软件测试中移动app安全测试应该怎么
  • python实现线程池

    参照c 的线程池 使用python的threading库实现线程池 import threading import time 线程池的任务 包含一个可调用对象和一个参数数组 class ThreadTask object def init
  • [uC/OS-III] 22. 互斥量

    1 互斥量的基本概念 互斥量又称互斥信号量 本质也是一种信号量 不具备传递数据功能 是一种特殊的二值信号量 它和信号量不同的是 它支持互斥量所有权 递归访问以及防止优先级翻转的特性 用于实现对临界资源的独占式处理 任意时刻互斥量的状态只有两
  • Linux常用基本命令

    目录 1 帮助命令 man 获取帮助信息 type 查看命令是内置命令还是外部命令 help 获取帮助信息 2 文件目录类 pwd 显示当前目录的绝对路径 ls 列出目录中的内容 cd 进入相对应的目录中 mkdir 创建文件夹子 rmdi
  • 安全与加密

    1 使用对称加密算法 实现敏感数据加密 1 1 什么是对称加密 Symmetric encryption
  • (Qt Installer Framework)程序简易打包教程

    Qt Installer Framework 程序简易打包教程 Qt Installer Framework程序简易打包教程 第一步下载Qt Installer Framework 第二步 打包程序安装和环境变量的配置 第三步准好要打包的程