qt制作的软件是安装在Linux系统上吗,利用 Qt installer framework制作run包 或者说是在linux下的使用教程...

利用 Qt installer framework制作run包 或者说是在linux下的使用教程

Qt install framework是qt官方的打包工具,可以将我们的软件打包成一个像window一样的单一安装包,或者说就是我们下载的qt的run包,双击就可以下一步下一步的安装。

下载,安装与配置 Qt install framework

给于可执行权限后直接双击安装

建议进行环境变量配置

编辑 .bashrc,在后面追加:

export PATH=软件安装目录/bin:$PATH

打包前的准备

重点:如何编写installscript.qs脚本

直接上我的installscript.qs脚本,看明白就会了!

/****************************************************************************

**

** Copyright (C) 2017 The Qt Company Ltd.

** Contact: https://www.qt.io/licensing/

**

** This file is part of the FOO module of the Qt Toolkit.

**

** $QT_BEGIN_LICENSE:GPL-EXCEPT$

** Commercial License Usage

** Licensees holding valid commercial Qt licenses may use this file in

** accordance with the commercial license agreement provided with the

** Software or, alternatively, in accordance with the terms contained in

** a written agreement between you and The Qt Company. For licensing terms

** and conditions see https://www.qt.io/terms-conditions. For further

** information use the contact form at https://www.qt.io/contact-us.

**

** GNU General Public License Usage

** Alternatively, this file may be used under the terms of the GNU

** General Public License version 3 as published by the Free Software

** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT

** included in the packaging of this file. Please review the following

** information to ensure the GNU General Public License requirements will

** be met: https://www.gnu.org/licenses/gpl-3.0.html.

**

** $QT_END_LICENSE$

**

****************************************************************************/

function Component()

{

// default constructor

}

Component.prototype.createOperations = function()

{

// call default implementation to actually install README.txt!

component.createOperations();

/*

这儿是原来就有的,因为主要讲linux上怎么用,所以并没有修改这儿

实际使用的时候,可以删除这儿的if

*/

if (systemInfo.productType === "windows") {

component.addOperation("CreateShortcut", "@TargetDir@/README.txt", "@StartMenuDir@/README.lnk",

"workingDirectory=@TargetDir@", "iconPath=%SystemRoot%/system32/SHELL32.dll",

"iconId=2", "description=Open README file");

}

/* 这儿的判断有问题 */

/**************************************详解********************************************

QSysInfo 和 systemInfo 见qt installer framework 安装目录下 /doc/html/scripting-systeminfo.html

*************************************************************************************/

if (systemInfo.kernelType === "linux" || QSysInfo.productType === "debian" ) {

/***************************************路径说明****************************************

系统自带变量

TargetDir 目标安装目录,由用户选择

DesktopDir 用户桌面目录名(路径)。仅在Windows上可用

RootDir 文件系统根目录

HomeDir 当前用户的home目录

ApplicationsDir 应用程序目录。例如,Windows上的C:\Program Files,Linux上/opt以及OS X上/Applications

InstallerDirPath 包含安装程序可执行文件的目录

InstallerFilePath 安装程序可执行文件的文件路径

注意:变量是包含在“@@”中的,以@开始,必须要以@结尾

具体的其它信息可以参考 https://www.cnblogs.com/oloroso/p/6775318.html#7_3_2_3

**************************************************************************************/

/* 建立桌面图标 */

var exec = "Exec=" + "@TargetDir@/Ledger.sh " + "\n"; /* 执行程序 */

var icon = "Icon=" + "@TargetDir@/icon/logo.svg " + "\n"; /* 图标资源路径 */

var version = "Version=" + "1.5.0.0023 " + "\n" ; /* 版本号 */

var name = "Name=" + "盼盼簿" + "\n"; /* 桌面图标显示名称 */

var desktop = "Ledger" + ".desktop"; /* 桌面图标名 */

var comment = name + exec + icon + version + "Terminal=false\nEncoding=UTF-8\nType=Application\n";

component.addOperation("CreateDesktopEntry", desktop , comment);

/*******************************************卸载图标*************************************

一般来说,应该是有卸载图标的,但是这儿不想细讲,因为卸载图标你可以根据上面建立桌面图标进行。

只要类似下面即可:

var exec = "Exec=" + "@TargetDir@/maintenancetool" + "\n"; /* 卸载程序 不建议修改

var icon = "Icon=" + "@TargetDir@/icon/logo.svg " + "\n"; /* 图标资源路径 建议修改

var version = "Version=" + "1.5.0.0023 " + "\n" ; /* 版本号

var name = "Name=" + "盼盼簿" + "\n"; /* 桌面图标显示名称 可修改

var desktop = "Ledger_uninstall" + ".desktop"; /* 桌面图标名 可修改

var comment = name + exec + icon + version + "Terminal=false\nEncoding=UTF-8\nType=Application\n";

component.addOperation("CreateDesktopEntry", desktop , comment);

**************************************************************************************/

}

}

最后开始打包

命令

binarycreator -c config/config.xml -p packages 软件包名.run -v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值