组件类

class QInstaller::Component

Component 类代表当前组件。 更多...

头文件 #include <Component>
继承 QObject 和 QInstaller::ComponentModelHelper

公共类型

structSortingPriorityGreaterThan
structSortingPriorityLessThan
enumUnstableError { DepencyToUnstable, ShaMismatch, ScriptLoadingFailed, MissingDependency, InvalidTreeName, DescendantOfUnstable }

属性

公共函数

Component(QInstaller::PackageManagerCore *core)
virtual~Component()
voidaddAutoDependOn(const QString &newDependOn)
voidaddDependency(const QString &newDependency)
voidaddDownloadableArchive(const QString &path)
voidaddElevatedOperation(QInstaller::Operation *operation)
booladdElevatedOperation(const QString &operation, const QStringList &parameters)
voidaddOperation(QInstaller::Operation *operation)
booladdOperation(const QString &operation, const QStringList &parameters)
voidaddStopProcessForUpdateRequest(const QString &process)
voidappendComponent(QInstaller::Component *component)
QStringListarchives() const
boolautoCreateOperations() const
QStringListautoDependencies() const
virtual voidbeginInstallation()
boolcomponentChangeRequested()
virtual voidcreateOperations()
virtual voidcreateOperationsForArchive(const QString &archive)
virtual voidcreateOperationsForPath(const QString &path)
QStringListcurrentDependencies() const
QStringListdependencies() const
QList<QInstaller::Component *>descendantComponents() const
QStringdisplayName() const
QStringListdownloadableArchives()
boolforcedInstallation() const
boolinstallationRequested() const
boolisAutoDependOn(const QSet<QString> &componentsToInstall) const
boolisDefault() const
boolisEssential() const
boolisForcedUpdate()
boolisFromOnlineRepository() const
boolisInstalled(const QString &version = QString()) const
boolisSelected() const
boolisSelectedForInstallation() const
boolisUninstalled() const
boolisUnstable() const
boolisUpdateAvailable() const
boolisVirtual() const
QHash<QString, QVariantMap>licenses() const
voidloadComponentScript(const bool postLoad = false)
voidloadDataFromPackage(const QInstaller::Package &package)
voidloadDataFromPackage(const KDUpdater::LocalPackage &package)
voidloadLicenses(const QString &directory, const QHash<QString, QVariant> &licenseHash)
voidloadTranslations(const QDir &directory, const QStringList &qms)
voidloadUserInterfaces(const QDir &directory, const QStringList &uis)
voidloadXMLExtractOperations()
voidloadXMLOperations()
QStringListlocalDependencies() const
QStringlocalTempPath() const
voidmarkAsPerformedInstallation()
QStringname() const
QInstaller::OperationListoperations(const KDUpdater::UpdateOperation::OperationGroups &mask = Operation::All) const
booloperationsCreatedSuccessfully() const
QInstaller::PackageManagerCore *packageManagerCore() const
QInstaller::Component *parentComponent() const
QList<QPair<QString, bool>>pathsForUninstallation() const
voidregisterPathForUninstallation(const QString &path, bool wipe = false)
voidremoveComponent(QInstaller::Component *component)
voidremoveDownloadableArchive(const QString &path)
voidremoveStopProcessForUpdateRequest(const QString &process)
intremoveValue(const QString &key)
QUrlrepositoryUrl() const
voidsetInstalled()
voidsetRepositoryUrl(const QUrl &url)
voidsetStopProcessForUpdateRequest(const QString &process, bool requested)
voidsetUninstalled()
voidsetUnstable(QInstaller::Component::UnstableError error, const QString &errorMessage = QString())
voidsetUpdateAvailable(bool isUpdateAvailable)
voidsetValidatorCallbackName(const QString &name)
voidsetValue(const QString &key, const QString &value)
QStringListstopProcessForUpdateRequests() const
QStringtreeName() const
booltreeNameMoveChildren() const
booluninstallationRequested() const
boolupdateRequested() const
quint64updateUncompressedSize()
QWidget *userInterface(const QString &name) const
QStringListuserInterfaces() const
boolvalidatePage()
QStringvalue(const QString &key, const QString &defaultValue = QString()) const
QHash<QString, QString>variables() const

公共槽函数

voidsetAutoCreateOperations(bool autoCreateOperations)

信号

voidloaded()
voidvalueChanged(const QString &key, const QString &value)
voidvirtualStateChanged()

详细描述

成员类型文档

枚举 Component::UnstableError

此枚举类型包含组件不稳定错误的原因

常量描述
QInstaller::Component::DepencyToUnstable0组件依赖于不稳定组件。
QInstaller::Component::ShaMismatch1组件具有非匹配 SHA 值的软件包。
QInstaller::Component::ScriptLoadingFailed2组件脚本有错误或加载失败。
QInstaller::Component::MissingDependency3组件依赖于缺失的组件。
QInstaller::Component::InvalidTreeName4组件具有无效的树名。
QInstaller::Component::DescendantOfUnstable5组件是不稳定组件的后代。

属性文档

[只读] archives : const QStringList

此属性包含为组件注册的存档 URL 列表。

URL 以 installer:// 开头。

访问函数

QStringListarchives() const

另请参阅addDownloadableArchive() 和 removeDownloadableArchive()。

autoCreateOperations : bool

此属性表示在安装开始时是否应该自动创建组件的一些标准操作。

默认值为 true

访问函数

boolautoCreateOperations() const
voidsetAutoCreateOperations(bool autoCreateOperations)

[只读] autoDependencies : const QStringList

此属性包含软件包信息文件中 <AutoDependOn> 元素的值。

访问函数

QStringListautoDependencies() const

[只读] 默认 : const bool

此属性表示组件是否为默认组件。这是一个只读属性。

注意:对于虚拟组件,始终为 false

访问函数

boolisDefault() const[见以下说明]

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

[只读] dependencies : const QStringList

此属性表示依赖于此组件的组件。这是一个只读属性。

访问函数

QStringListdependencies() const

[只读] displayName : const QString

此属性表示组件在用户界面中显示的名称。

访问函数

QStringdisplayName() const

enabled : const bool

此属性表示组件当前是否启用。该属性可读可写。

[只读] fromOnlineRepository : const bool

此属性表示此组件是否从在线存储库加载。

访问函数

boolisFromOnlineRepository() const[见以下说明]

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

[只读] installed : const bool

此属性表示组件是否已安装。这是一个只读属性。

访问函数

boolisInstalled(const QString &version = QString()) const[见以下说明]

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

[只读] name : const QString

此属性表示组件名称,该名称在包信息文件的 `` 标签中设置。

访问函数

QStringname() const

[只读] repositoryUrl : const QUrl

此属性表示组件从中下载的存储库 URL。

如果此组件不是从在线存储库下载的,则返回一个空的 QUrl

访问函数

QUrlrepositoryUrl() const

[只读] treeName : const QString

此属性表示组件的树名称。指定组件在安装树视图中的位置。

注意:如果未设置树名称,则根据组件名称组织树视图。

注意:必须是唯一的,树名称不应与其他组件的名称或树名称冲突。

访问函数

QStringtreeName() const

[只读] unstable : const bool

此属性表示组件是否不稳定。这是一个只读属性。

注意:不稳定的组件不能用于安装。

访问函数

boolisUnstable() const

[只读] userInterfaces : const QStringList

该属性包含所有已知组件的用户界面类名列表。

访问函数

QStringListuserInterfaces() const

成员函数文档

[显式] Component::Component(QInstaller::PackageManagerCore *core)

创建了包管理器中由 core 指定的新组件。

[虚函数, noexcept] Component::~Component()

销毁组件。

[可调用] void Component::addAutoDependOn(const QString &newDependOn)

将指定的组件 newDependOn 添加到自动依赖列表中。或者,可以通过逗号分隔来指定多个组件。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.addAutoDependOnautoDependencies

[可调用] void Component::addDependency(const QString &newDependency)

将指定的组件 newDependency 添加到依赖列表中。或者可以通过逗号分隔来指定多个组件。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.addDependencydependencies

[可调用] void Component::addDownloadableArchive(const QString &path)

将存档 path 添加到该组件中。这仅当此组件是从在线仓库下载时调用此函数。添加 path 时,安装开始时会从仓库中下载。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.addDownloadableArchiveremoveDownloadableArchivefromOnlineRepositoryarchives

void Component::addElevatedOperation(QInstaller::Operation *operation)

operation 添加到需要安装此组件的操作列表中。 operation 将以提升的权限执行。

bool Component::addElevatedOperation(const QString &operation, const QStringList &parameters)

创建并添加安装操作 operation。可以添加任意数量的 parameters。参数包含的变量,如 @TargetDir@,将被它们的值替换。操作将以提升的权限执行。

如果创建操作,则返回 true;否则返回 false

另请参阅component.addElevatedOperation

void Component::addOperation(QInstaller::Operation *operation)

operation添加到安装此组件需要的操作列表。

bool Component::addOperation(const QString &operation, const QStringList &parameters)

创建并添加一个用于operation的安装操作。添加任何数量的parameters。参数包含的变量,如@TargetDir@,将被其值替换。

如果创建操作,则返回 true;否则返回 false

另请参阅component.addOperation.

[invokable] void Component::addStopProcessForUpdateRequest(const QString &process)

在安装、更新或卸载组件之前,添加退出进程process的请求。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.addStopProcessForUpdateRequest.

void Component::appendComponent(QInstaller::Component *component)

component作为此组件的子组件添加。如果component已经有一个父组件,它将从一个父组件中移除。如果component包含多个子组件,并且设置了SortingPriorityGreaterThan()排序优先级,则子组件列表将按最高优先级的子组件置顶排序。

QStringList Component::archives() const

包含此组件所有已知归档的名称。即使在下载过程中,通过所用QFileEngineHandler,下载的归档也会映射到installer:// URL。

注意:归档属性获取函数。

bool Component::autoCreateOperations() const

指定在安装开始时是否应该自动创建操作。这将通过调用createOperations()来完成。如果您设置为false,则完全由组件的脚本创建所有操作。

当组件的脚本将创建所有操作时返回false;否则返回true

注意:自动创建操作属性的获取函数。

另请参阅setAutoCreateOperations()和component.autoCreateOperations

[virtual invokable] void Component::beginInstallation()

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.beginInstallation

[invokable] bool Component::componentChangeRequested()

如果该组件将发生变化(更新、安装或卸载),则返回true

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.componentChangeRequested

[virtual invokable] void Component::createOperations()

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.createOperationscreateOperationsForArchive

[虚拟可调用] void Component::createOperationsForArchive(const QString &archive)

创建安装此组件存档所需的所有操作。此方法从 createOperations 调用。您可以通过在组件脚本中提供相同名称的方法来重写此方法。

注意: 如果您从脚本中调用此方法,它将不会调用具有相同名称的脚本方法。

默认实现将调用 createOperationsForPath,为存档中的所有内容执行操作。如果 archive 是安装程序系统已知的压缩存档,则创建一个解压缩操作。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.createOperationsForArchive

[虚拟可调用] void Component::createOperationsForPath(const QString &path)

创建安装此组件路径所需的所有操作。path 是一个包含组件名称的完全限定文件名。此方法从 createOperationsForArchive 调用。您可以通过在组件脚本中提供相同名称的方法来重写它。

注意: 此方法将省略 RSA 签名文件。

注意: 如果您从脚本中调用此方法,它将不会调用具有相同名称的脚本方法。

默认实现为 path 中的所有文件和文件夹递归地创建复制和创建目录操作。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.createOperationsForPath

QStringList Component::currentDependencies() const

返回组件当前拥有的依赖项列表。当组件已安装,但依赖项列表与存储库中引入的列表不同时,依赖项可能会变化。如果组件未安装,或请求更新已安装的组件,则从存储库中读取当前依赖项,以确保在安装或更新组件时正确计算依赖项。

QStringList Component::dependencies() const

返回在存储库或 package.xml 中定义的依赖项列表。

注意: 依赖项属性获取器函数。

QList<QInstaller::Component *> Component::descendantComponents() const

返回儿童组件列表,包括组件子级的所有后代。

注意: 返回的列表包括所有后代;包括非虚拟组件以及虚拟组件。

QString Component::displayName() const

包含此组件的显示名称,该名称在用户可见。

注意: 显示名称属性的获取器函数。

QStringList Component::downloadableArchives()

在安装前从在线存储库返回要下载的存档。应在开始安装时仅调用一次。

bool Component::forcedInstallation() const

返回此组件是否始终应安装。

[可调用的] bool Component::installationRequested() const

返回用户是否想安装组件。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.installationRequested.

[可调用的] bool Component::isAutoDependOn(const QSet<QString> &componentsToInstall) const

确定组件是否作为自动依赖项。如果componentsToInstall中的所有组件都已安装或选择安装,则此组件需要一起安装,将返回true

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.isAutoDependOn.

bool Component::isEssential() const

返回此组件是否是必需品。必需品始终安装,并且在其他组件之前更新。

[可调用的] bool Component::isForcedUpdate()

如果组件已安装并设置了ForcedUpdate标志,则返回true。强制更新组件将在任何其他组件可以更新或安装之前与必需组件一起更新。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.isForcedUpdate.

[可调用的] bool Component::isFromOnlineRepository() const

返回此组件是否已从在线存储库加载。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

注意:属性fromOnlineRepository的获取器函数。

另请参阅component.isFromOnlineRepositoryaddDownloadableArchive()和fromOnlineRepository.

bool Component::isSelected() const

返回组件是否已选择。

bool Component::isSelectedForInstallation() const

返回组件是否已选中用于安装。

[可调用的] bool Component::isUninstalled() const

返回组件是否已卸载。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.isUninstalled.

bool Component::isUnstable() const

如果此组件不稳定,则返回true

注意:属性unstable的获取器函数。

[可调用的] bool Component::isUpdateAvailable() const

返回是否为此组件提供更新。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.isUpdateAvailable.

bool Component::isVirtual() const

返回此组件是否为虚拟的。

QHash<QString, QVariantMap> Component::licenses() const

返回包含组件的许可证文件名、文本和优先级的哈希表。

void Component::loadComponentScript(const bool postLoad = false)

将组件脚本加载到脚本引擎中。在性能非常重要且不需要在安装开始前调用脚本函数的情况下,调用此方法并将postLoad设置为true以提高大量组件更新或安装时的性能。

void Component::loadDataFromPackage(const QInstaller::Package &package)

根据包中的package.xml中设置的值设置变量。如果包中引用了UI文件、许可证和翻译,则会加载它们。如果此组件的PackageManagerCore对象作为包查看器运行,则只设置变量而不加载引用的文件。

void Component::loadDataFromPackage(const KDUpdater::LocalPackage &package)

根据本地包中的package.xml中设置的值设置变量。

void Component::loadLicenses(const QString &directory, const QHash<QString, QVariant> &licenseHash)

directory中加载licenseHash中包含的许可证文本。这些文本保存到一个新的哈希表中,包含文件名、文本和优先级。

void Component::loadTranslations(const QDir &directory, const QStringList &qms)

directory内部加载与名称过滤器qms匹配的翻译。只有基本名称与当前区域设置的名称匹配的翻译会被加载。有关更多信息,请参阅翻译页面

void Component::loadUserInterfaces(const QDir &directory, const QStringList &uis)

directory内部加载与名称过滤器uis匹配的用户界面文件。可以通过访问userInterfaces()并使用在UI文件中设置的类名来访问加载的界面。

void Component::loadXMLExtractOperations()

加载在组件.xml中定义的所有提取操作。操作将覆盖默认的提取操作实现。

void Component::loadXMLOperations()

加载组件.xml中定义的所有操作(除提取操作外)。操作将被添加到安装此组件所需的操作列表中。

[信号] void Component::loaded()

另请参阅 component.loaded.

QStringList Component::localDependencies() const

返回在components.xml中定义的已安装组件的依赖列表。

QString Component::localTempPath() const

返回组件临时存储的本地目录的路径。

void Component::markAsPerformedInstallation()

将组件标记为已安装。

QString Component::name() const

包含此组件的唯一标识符。

注意: 属性名称的获取函数。

QInstaller::OperationList Component::operations(const KDUpdater::UpdateOperation::OperationGroups &mask = Operation::All) const

返回安装此组件所需的操作。如果autoCreateOperations()为true,则如果尚未自动创建任何操作,则会调用createOperations()。

mask参数通过操作组筛选返回的操作。

bool Component::operationsCreatedSuccessfully() const

返回是否成功创建了安装此组件所需的操作。

QInstaller::PackageManagerCore *Component::packageManagerCore() const

返回此组件所属的安装程序。

QInstaller::Component *Component::parentComponent() const

返回此组件的父级。例如,如果存在,则名为org.qt-project.sdk.qt的组件的父级是org.qt-project.sdk

QList<QPair<QString, bool>> Component::pathsForUninstallation() const

返回以前使用registerPathForUninstallation()注册用于卸载的路径列表。

[可调用] void Component::registerPathForUninstallation(const QString &path, bool wipe = false)

将位于path处的文件或目录注册为在卸载此组件时删除。如果是目录,则递归。如果将wipe设置为true,并且目录包含用户在安装后所做的更改,则也会删除该目录。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.registerPathForUninstallation.

void Component::removeComponent(QInstaller::Component *component)

如果component是该组件的子组件,则移除它。函数返回后,组件对象仍然存在。由调用者决定删除传入的component

[可调用] void Component::removeDownloadableArchive(const QString &path)

移除通过addDownloadableArchive()之前添加到此组件的存档path。只有当这个组件是从在线仓库下载的时,才能调用此函数。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.removeDownloadableArchiveaddDownloadableArchivefromOnlineRepositoryarchives

[可调用] void Component::removeStopProcessForUpdateRequest(const QString &process)

重新移除退出进程process的请求。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.removeStopProcessForUpdateRequest

int Component::removeValue(const QString &key)

从为此组件设置的变量中移除所有具有key的值。返回移除的值的数量,如果键存在于变量中,则为1,否则为0。

QUrl Component::repositoryUrl() const

包含此组件下载的仓库URL。如果此组件不是从在线仓库下载的,则返回空QUrl

注意:repositoryUrl属性的getter函数。

另请参阅setRepositoryUrl()。

[可调用] void Component::setInstalled()

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅isInstalled()和component.setInstalled

void Component::setRepositoryUrl(const QUrl &url)

将此组件的仓库URL设置为url

另请参阅repositoryUrl()。

[可调用] void Component::setStopProcessForUpdateRequest(const QString &process, bool requested)

一个便捷函数,根据requested是否为true(添加)或false(移除),添加或删除停止process的请求。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.addStopProcessForUpdateReques

[可调用] void Component::setUninstalled()

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅isUninstalled()和component.setUninstalled

void Component::setUnstable(QInstaller::Component::UnstableError error, const QString &errorMessage = QString())

设置此组件及其所有子组件和依赖于该组件的组件不稳定,错误代码为error,错误消息为errorMessage

另请参阅 isUnstable

[可调用] void Component::setUpdateAvailable(bool isUpdateAvailable)

isUpdateAvailable标志设置为true,以指示核心找到了更新。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 isUpdateAvailablecomponent.setUpdateAvailable

void Component::setValidatorCallbackName(const QString &name)

设置验证器回调名称为name

[可调用] void Component::setValue(const QString &key, const QString &value)

将变量key的值设置为value

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 valuecomponent.setValue

QStringList Component::stopProcessForUpdateRequests() const

需要在安装、更新或卸载此组件之前关闭的进程列表。

QString Component::treeName() const

返回此组件在树视图中的位置。如果未设置树名,则返回组件名。树名必须唯一,不应与其他树名或组件名冲突。

注意:treeName属性对应的获取函数。

bool Component::treeNameMoveChildren() const

如果此组件的后代应该在与其父组件修改后的位置相关联的情况下自动创建树名,则返回true,否则返回false

[可调用] bool Component::uninstallationRequested() const

返回用户是否想要卸载此组件。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.uninstallationRequested

[可调用] bool Component::updateRequested() const

返回用户是否想要为此组件安装更新。

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅 component.updateRequested

quint64 Component::updateUncompressedSize()

返回压缩存档的大小。

[可调用] QWidget *Component::userInterface(const QString &name) const

返回为 name 创建的 QWidget 或者在控件被删除或找不到时,返回 0

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅component.userInterface

bool Component::validatePage()

调用带有验证器回调名称的脚本方法。如果方法返回 true,则返回 true。如果验证器回调名称为空,则始终返回 true

[可调用] QString Component::value(const QString &key, const QString &defaultValue = QString()) const

返回变量名 key 的值。如果 key 尚未知晓,则返回 defaultValue

注意:如果一个组件是虚拟的,并且你用键 Default 来获取组件值,它将总是返回 false

注意:此函数可以通过元对象系统从 QML 调用。请见 Q_INVOKABLE

另请参阅setValue

[信号] void Component::valueChanged(const QString &key, const QString &value)

当变量名 key 的值更改到 value 时发出。

另请参阅component.valueChangedsetValue

QHash<QString, QString> Component::variables() const

返回所有为该组件设置的变量的键值哈希。

[信号] void Component::virtualStateChanged()

另请参阅component.virtualStateChanged

©2021 The Qt Company Ltd. 本文档中包含的贡献版权属于其各自的所有者。所提供的文档是根据 Free Software Foundation 发布的 GNU Free Documentation License 版本 1.3 条款许可的。Qt 公司,Qt 以及它们的相应标志是芬兰和/或其他国家/地区的 The Qt Company Ltd 的商标。所有其他商标均为各自所有者的财产。