Qt Installer Framework翻译(5-4)

自定义安装程序

您可以使用脚本通过以下方式来自定义安装程序:

> 添加Qt Installer Framework操作,该操作由脚本提供,并由安装程序执行。
> 添加新页面,该页面由您在package.xml文件中指定,并将其放置在packages文件夹中。
> 修改现有页面,通过插入自定义用户界面元素来作为子部件。
> 添加语言变体。

您可以同时使用组件脚本控制脚本来自定义安装程序。通过在组件的package.xml文件的Script元素中指定组件脚本,可以将该脚本与特定的组件关联起来。当组件的元数据获取完毕时,将加载该脚本。有关组件脚本的更多信息,请参见组件脚本章节。

通过在安装程序的control.xml文件的ControlScript元素中指定控制脚本,可以将该脚本与整个安装程序关联起来。控制脚本可以是安装程序资源的一部分,也可以在命令行中被传递。它们可用于修改安装程序页面,该页面在加载组件之前向用户显示。另外,您可以使用它们来修改卸载程序中的页面。有关更多信息,请参见控制脚本章节。

有关可用于组件/控制脚本的全局JavaScript对象的更多信息,请参见脚本API章节。

添加操作

您可以在安装过程中使用组件脚本执行Qt Installer Framework操作。通常,操作通过移动,复制或修补方式来操纵文件。使用QInstaller::Component::addOperation或QInstaller::Component::addElevatedOperation函数来添加操作。有关更多信息,请参见向组件添加操作章节。

另外,您可以通过派生KDUpdater::UpdateOperation来重新实现方法函数,用于在安装程序中注册自定义安装操作。有关更多信息,请参见注册自定义操作章节。

有关可用操作的总结,请参见操作章节。

添加页面

一个组件可以包含一个或多个用户界面文件,这些文件由组件或控制脚本放置在安装程序中。安装程序自动加载package.xml文件中UserInterfaces元素列出的所有用户界面文件。

使用组件脚本添加页面

要向安装程序添加新页面,请使用installer::addWizardPage()方法,并指定新页面的位置。例如,以下代码在安装准备页面中添加了MyPage实例:

installer.addWizardPage(component,"MyPage",QInstaller.ReadyForInstallation);

您可以使用组件脚本来访问已加载的窗口子部件,方法是通过该部件的类名来调用component::userInterface()方法,如以下代码片段所示:

component.userInterface( "MyPage" ).checkbox.checked = true;

您还可以为添加的页面提供回调函数。要访问它,请使用在UI文件中设置的对象名称(例如,“ MyPage”)。然后创建Dynamic${ObjectName}Callback函数(例如,DynamicMyPageCallback):

Component.prototype.DynamicMyPageCallback = function()
{
    var page = gui.pageWidgetByObjectName("DynamicMyPage");
    page.myButton.click,
    page.myWidget.subWidget.setText("hello")
}

您可以使用在UI文件中设置的对象名称来访问窗口子部件。例如,上面代码中的myButton和myWidget就是子部件对象名称。

添加子部件

您可以使用组件或控制脚本,来将自定义用户界面元素,作为单个窗口子部件(例如复选框)插入到安装程序中。

要插入单个子部件,请使用installer::addWizardPageItem方法。例如,以下代码片段通过脚本,将MyWidget的实例添加到组件选择页面:

installer.addWizardPageItem(component,"MyWidget",QInstaller.ComponentSelection);

与安装程序进行功能性交互

例如,您可以使用控制脚本在测试中自动执行安装程序功能函数。以下代码段说明了如何在目标文件夹选择页面上自动点击“下一步”按钮:

Controller.prototype.TargetDirectoryPageCallback = function()
{
    gui.clickButton(buttons.NextButton);
}

翻译页面

安装程序使用Qt翻译系统,来将用户可读的输出翻译成多种语言。要提供组件脚本和用户界面中包含的字符串的本地化版本,请创建QTranslator文件,安装系统会在加载组件时一起加载该文件。安装程序将加载与当前系统区域匹配的翻译文件。例如,如果系统区域设置为德语,则将加载de.qm文件。另外,如果存在本地化的license_de.txt,那么会显示该文件,而不是默认的license.txt。

需要将翻译添加到package.xml文件中,才能激活组件的翻译:

<Translations>
    <Translation>de.qm</Translation>
</Translations>

将qsTr()函数用于脚本内的文字文本。此外,您可以将Component.prototype.retranslateUi方法添加到脚本中。 当安装程序的语言更改时,翻译文件被加载后,将调用该方法。

用于翻译的上下文,是使用qsTr时脚本文件的基础名,或翻译用户界面时UI文件的类名称。例如,如果脚本为installscript.qs,则上下文将为installscript。

注意:翻译系统还可以用于自定义UI。例如,通过自定义英语版本,使用一个en.ts文件,来替换安装程序中的任意文本。

原文地址:https://www.cnblogs.com/codeForFamily/p/qt-install-framework-translate-5-4.html

时间: 2024-10-08 09:13:07

Qt Installer Framework翻译(5-4)的相关文章

Qt Installer Framework翻译(7-6)

工具 Qt Installer Framework包含以下工具: > installerbase > binarycreator > repogen > archivegen > devtool installerbase installerbase工具描述了核心安装程序本身. 所有数据和元信息都将打包到此二进制文件中. 对于安装程序的创建过程,您无需直接调用它. binarycreator 使用binarycreator工具创建离线和在线安装程序. 组件信息和数据将附加到离

Qt Installer Framework翻译(4)

教程:创建安装程序 本教程描述如何为一个小项目创建一个简单的安装程序: 本节描述创建安装程序所必须完成的步骤: 创建一个包文件夹,其中将包含所有配置文件和可安装的包. 创建一个配置文件,其中包含有关如何构建安装程序二进制文件和联机存储库的信息. 创建一个包信息文件,其中包含可安装组件的信息. 创建安装程序内容,并将其复制到包文件夹. 使用binarycreator工具来创建安装程序. 通过使用您在配置文件和包信息文件中提供的信息来创建安装程序的各个页面. 示例文件位于Qt Installer F

Qt Installer Framework翻译(7-8)

C++ API C ++ API文档是为开发Qt Installer Framework的开发人员编写的. 它描述了内部API,因此没有兼容性保证. 此外,该文档尚在开发中,因此缺少部分内容,而其他部分可能已过时. 要创建自定义的安装程序,请改用Scripting API. 有关更多信息,请参见自定义安装程序章节. 命名空间 命名空间 描述 QInstaller 包含用于实现Qt Installer Framework和安装程序UI核心功能的类. KDUpdater 包含用于自动检测应用程序更新

Qt Installer Framework翻译(7-3)

控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许安装时无需人的参与. 脚本格式必须与QJSEngine兼容. 本节介绍为实现这种控制脚本而调用的函数功能.它还概述了安装程序页面以及每个页面上可用的小部件,例如按钮,单选按钮和行编辑. 编写控制脚本 最小的有效脚本至少需要包含一个构造函数,如下所示: function Controller() {

Qt Installer Framework翻译(7-7)

脚本API 下表总结了可以在控制器和组件脚本中使用的全局JavaScript对象. QMessageBox 提供一个模式对话框,通知用户或询问用户问题并接收答案 buttons 提供可在安装程序页面上使用的按钮 component 表示Qt脚本所属的当前组件 console 提供方法用于记录和调试 gui 启用与安装程序用户界面的交互 installer 提供对Qt Installer框架核心功能的访问 print 提供与QtScript的兼容性 QDesktopServices 提供访问常见桌

Qt Installer Framework翻译(6-0)

Qt安装程序框架示例 这些示例说明了如何使用组件脚本来自定义安装程序. Change Installer UI Example 使用组件脚本修改安装程序UI. Component Error Example 使用组件脚本来停止安装,如果无法安装组件 Dependency Solving Example 使用组件的package.xml文件定义组件之间的依赖关系和自动依赖关系 Dynamic Page Installer Example 使用组件脚本和动态页面来构建安装程序 Hide Checkb

Qt Installer Framework翻译(7-1)

配置文件 配置文件可自定义安装程序的用户界面和行为.该文件通常称为config.xml,位于config文件夹中. 最小配置文件由一个<Installer>根元素组成,<Name>和<Version>元素是其子元素.所有其他元素都是可选的,并且可以任意顺序出现. 以下示例显示了一个典型的配置文件: <?xml version="1.0"?> <Installer> <Name>Some Application<

Qt Installer Framework翻译(8)

好了,到这里翻译就结束了.各位可以下载源码,结合examples示例,使用repogen和binarycreator好好实操一下,就能掌握基础用法了.祝各位使用顺利. 官方文档网址:https://doc.qt.io/qtinstallerframework/index.html 官方软件网址:https://download.qt.io/official_releases/qt-installer-framework/ 有任何问题,可以联系我,请发QQ邮箱:[email protected].

Qt Installer Framework翻译(2)

开始 Qt IFW作为Qt项目的一部分进行开发.该框架自身也使用Qt.然而,它能被用于安装所有类型的应用程序,包括(但不限于)使用Qt编译的. 支持的平台 已在下列平台中进行了测试: > Microsoft Windows XP, and later > Ubuntu Linux 11.10, and later > OS X 10.7, and later 从源码编译 下面的步骤描述了如何编译IFW.你可以跳过这部分,因为你可以从官网下载已经编译好的可执行程序. 跳过了,老铁. 原文地