PackageManagerCore 类

QInstaller::PackageManagerCore

PackageManagerCore 类提供了 Qt 安装器框架的核心功能。 更多...

头文件 #include <PackageManagerCore>
继承自 QObject

公共类型

枚举ComponentType { Root, Descendants, Dependencies, Replacements, AllNoReplacements, All }
标志ComponentTypes
枚举Status { Success, Failure, Running, Canceled, Unfinished, …, EssentialUpdated }
枚举WizardPage { Introduction, TargetDirectory, ComponentSelection, LicenseCheck, StartMenuSelection, …, InstallationFinished }

属性

公共函数

PackageManagerCore()
PackageManagerCore(qint64 magicmaker, const QList& operations, const QString & datFileName = QString(), const QString & socketName = QString(), const QString & key = QLatin1String(Protocol::DefaultAuthorizationKey), QInstaller::Protocol::Mode mode = Protocol::Mode::Production, const QHash& params = QHash(), const bool commandLineInstance = false)
~PackageManagerCore()
voidacceptMessageBoxDefaultButton()
voidaddAliasSource(const QInstaller::AliasSource & source)
voidaddFilesForDelayedDeletion(const QStringList & files)
voidaddLicenseItem(const QHash& licenses)
voidaddResourcesForOfflineGeneration(const QString & rcPath)
voidaddUserRepositories(const QStringList & repositories)
booladdWizardPage(QInstaller::Component *component, const QString & name, int page)
booladdWizardPageItem(QInstaller::Component *component, const QString & name, int page, int position = 100)
QInstaller::ComponentAlias *aliasByName(const QString & name) const
QListaliasesMarkedForInstallation() const
voidappendRootComponent(QInstaller::Component *component)
voidappendUpdaterComponent(QInstaller::Component *component)
voidautoAcceptMessageBoxes()
voidautoRejectMessageBoxes()
QStringavailableSpaceMessage() const
boolcalculateComponentsToInstall() const
boolcalculateComponentsToUninstall() const
boolcheckAvailableSpace()
voidclearLicenses()
boolclearLocalCache(QString *error = nullptr)
voidcommitSessionOperations()
QInstaller::Component *componentByName(const QString & name) const
QStringcomponentResolveReasons() const
QInstaller::ScriptEngine *componentScriptEngine() const
QInstaller::ComponentSortFilterProxyModel *componentSortFilterProxyModel()
*components(QInstaller::PackageManagerCore::ComponentTypes mask, const QString &regexp = QString()) const
*components(const QString &regexp = QString()) const
*componentsMarkedForInstallation() const
QStringcomponentsToInstallError() const
*componentsToUninstall() const
QStringcomponentsToUninstallError() const
boolcontainsFileDialogAutomaticAnswer(const QString &identifier) const
boolcontainsValue(const QString &key) const
QInstaller::ScriptEngine *controlScriptEngine() const
voidcreateAutoDependencyHash(const QString &component, const QString &oldDependencies, const QString &newDependencies) const
voidcreateLocalDependencyHash(const QString &component, const QString &dependencies) const
QInstaller::PackageManagerCore::StatuscreateOfflineInstaller(const QStringList &componentsToAdd)
QInstaller::ComponentModel *defaultComponentModel() const
*dependees(const QInstaller::Component *_component) const
voiddeselectComponent(const QString &id)
booldirectoryWritable(const QString &path) const
voiddisableWriteMaintenanceTool(bool disable = true)
intdownloadNeededArchives(double partProgressSize)
voiddropAdminRights()
QStringenvironmentVariable(const QString &name) const
QStringerror() const
QList< QVariant > *execute(const QString &program, const QStringList &arguments = QStringList(), const QString &stdIn = QString(), const QString &stdInCodec = QLatin1String("latin1"), const QString &stdOutCodec = QLatin1String("latin1")) const
boolexecuteDetached(const QString &program, const QStringList &arguments = QStringList(), const QString &workingDirectory = QString()) const
boolfetchCompressedPackagesTree()
boolfetchLocalPackagesTree()
boolfetchRemotePackagesTree(const QStringList &components = QStringList())
QHash< QString, QString > *fileDialogAutomaticAnswers() const
boolfileExists(const QString &filePath) const
QStringList *filesForDelayedDeletion() const
boolfinishedWithSuccess() const
boolfoundEssentialUpdate() const
QStringfromNativeSeparators(const QString &path)
boolgainAdminRights()
QStringList *givenArguments() const
QObject *guiObject() const
boolhasAdminRights() const
QInstaller::PackageManagerCore::StatusinstallDefaultComponentsSilently()
QStringinstallReason(QInstaller::Component *component) const
QInstaller::PackageManagerCore::StatusinstallSelectedComponentsSilently(const QStringList &components)
boolinstallationAllowedToDirectory(const QString &targetDirectory)
QStringinstallerBaseBinary() const
QStringinstallerBinaryPath() const
boolisCommandLineDefaultInstall() const
boolisCommandLineInstance() const
boolisDependencyForRequestedComponent(const QInstaller::Component *component) const
boolisFileExtensionRegistered(const QString &extension) const
boolisInstaller() const
boolisMaintainer() const
boolisOfflineGenerator() const
boolisOfflineOnly() const
boolisPackageManager() const
boolisPackageViewer() const
boolisProcessRunning(const QString &name) const
boolisUninstaller() const
boolisUpdater() const
boolisUserSetBinaryMarker() const
boolisValidCache() const
boolisVerbose() const
QStringkey(const QString &value) const
boolkillProcess(const QString &absoluteFilePath) const
boollistAvailableAliases(const QString &regexp = QString())
boollistAvailablePackages(const QString &regexp = QString(), const QHash<QString, QString> &filters = QHash<QString, QString>())
voidlistInstalledPackages(const QString &regexp = QString())
QStringList *localDependenciesToComponent(const QInstaller::Component *component) const
QInstaller::LocalPackagesMaplocalInstalledPackages()
boollocalInstallerBinaryUsed()
QStringmaintenanceToolName() const
boolneedsHardRestart() const
voidnetworkSettingsChanged()
QStringofflineBinaryName() const
booloperationExists(const QString &name)
*orderedComponentsToInstall() const
boolperformOperation(const QString &name, const QStringList &arguments)
QInstaller::PackageManagerProxyFactory *proxyFactory() const
QStringreadConsoleLine(const QString &title = QString(), qint64 maxlen = 0) const
QStringreadFile(const QString &filePath, const QString &codecName) const
boolrecalculateAllComponents()
QInstaller::PackagesListremotePackages()
voidremoveFileDialogAutomaticAnswer(const QString &identifier)
QInstaller::PackageManagerCore::StatusremoveInstallationSilently()
boolremoveWizardPage(QInstaller::Component *component, const QString &name)
boolremoveWizardPageItem(QInstaller::Component *component, const QString &name)
QStringreplaceVariables(const QString &str) const
QByteArrayreplaceVariables(const QByteArray &ba) const
QStringList *replaceVariables(const QStringList &str) const
quint64requiredDiskSpace() const
quint64requiredTemporaryDiskSpace() const
voidreset()
voidresetBinaryMarkerSupplement()
boolresetLocalCache(bool init = false)
voidrollBackInstallation()
boolrun()
voidsaveGivenArguments(const QStringList &args)
voidselectComponent(const QString &id)
voidsetAutoAcceptLicenses()
voidsetAutoConfirmCommand()
voidsetCheckAvailableSpace(bool check)
voidsetCommandLineInstance(bool commandLineInstance)
boolsetDefaultPageVisible(int page, bool visible)
voidsetDependsOnLocalInstallerBinary()
voidsetFileDialogAutomaticAnswer(const QString &identifier, const QString &value)
voidsetFoundEssentialUpdate(bool foundEssentialUpdate = true)
voidsetGuiObject(QObject *gui)
voidsetInstaller()
voidsetInstallerBaseBinary(const QString &path)
voidsetMessageBoxAutomaticAnswer(const QString &identifier, int button)
voidsetNeedsHardRestart(bool needsHardRestart = true)
voidsetOfflineBaseBinary(const QString &path)
voidsetOfflineBinaryName(const QString &name)
voidsetOfflineGenerator()
voidsetPackageManager()
voidsetPackageViewer()
voidsetProxyFactory(QInstaller::PackageManagerProxyFactory *factory)
voidsetTemporaryRepositories(const QStringList &repositories, bool replace = false, bool compressed = false)
voidsetUninstaller()
voidsetUpdater()
voidsetUserSetBinaryMarker(qint64 magicMarker)
voidsetValidatorForCustomPage(QInstaller::Component *component, const QString &name, const QString &callbackName)
voidsetValue(const QString &key, const QString &value)
voidsetVerbose(bool on)
QInstaller::Settings &settings() const
quint64size(QInstaller::Component *component, const QString &value) const
QHash<QString, QMap<QString, QString>>sortedLicenses()
QInstaller::PackageManagerCore::Statusstatus() const
QStringtargetDirWarning(const QString &targetDirectory) const
QStringtoNativeSeparators(const QString &path)
QInstaller::PackageManagerCore::StatusuninstallComponentsSilently(const QStringList &components)
QStringuninstallReason(QInstaller::Component *component) const
QInstaller::PackageManagerCore::StatusupdateComponentsSilently(const QStringList &componentsToUpdate)
QInstaller::ComponentModel *updaterComponentModel() const
QStringvalue(const QString &key, const QString &defaultValue = QString(), const int &format = QSettings::NativeFormat) const
QStringList *values(const QString &key, const QStringList &defaultValue = QStringList()) const
voidwriteMaintenanceConfigFiles()
voidwriteMaintenanceTool()

公共槽

信号

voidaboutCalculateComponentsToInstall() const
voidaboutCalculateComponentsToUninstall() const
voidcomponentAdded(QInstaller::Component *comp)
voidcomponentsRecalculated()
voidcoreNetworkSettingsChanged()
voidcurrentPageChanged(int page)
voiddefaultTranslationsLoadedForLanguage(QLocale lang)
voiddownloadArchivesFinished()
voidfinishAllComponentsReset(const QListrootComponents)
voidfinishButtonClicked()
voidfinishUpdaterComponentsReset(const QListcomponentsWithUpdates)
voidfinishedCalculateComponentsToInstall() const
voidfinishedCalculateComponentsToUninstall() const
voidguiObjectChanged(QObject *gui)
voidinstallationFinished()
voidinstallationInterrupted()
voidinstallationStarted()
voidinstallerBinaryMarkerChanged(qint64 magicMarker)
voidmetaJobInfoMessage(const QString &message)
voidmetaJobProgress(int progress)
voidmetaJobTotalProgress(int progress)
voidofflineGenerationFinished()
voidofflineGenerationStarted()
voidsetAutomatedPageSwitchEnabled(bool request)
voidsetValidatorForCustomPageRequested(QInstaller::Component *component, const QString &name, const QString &callbackName)
voidstartAllComponentsReset()
voidstartUpdaterComponentsReset()
voidstatusChanged(QInstaller::PackageManagerCore::Status)
voidtitleMessageChanged(const QString &title)
voiduninstallationFinished()
voiduninstallationStarted()
voidunstableComponentFound(const QString &type, const QString &errorMessage, const QString &component)
voidupdateFinished()
voidvalueChanged(const QString &key, const QString &value)
voidwizardPageInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page)
voidwizardPageRemovalRequested(QWidget *widget)
voidwizardPageVisibilityChangeRequested(bool visible, int page)
voidwizardWidgetInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page, int position)
voidwizardWidgetRemovalRequested(QWidget *widget)

静态公共成员

QStringcheckableName(const QString &name)
QInstaller::Component *componentByName(const QString &name, const QListcomponents)
boolcreateLocalRepositoryFromBinary()
QStringfindLibrary(const QString &name, const QStringList &paths = QStringList())
QStringfindPath(const QString &name, const QStringList &paths = QStringList())
intmaxConcurrentOperations()
boolnoDefaultInstallation()
boolnoForceInstallation()
voidparseNameAndVersion(const QString &requirement, QString *name, QString *version)
QStringList *parseNames(const QStringList &requirements)
voidsetCreateLocalRepositoryFromBinary(bool create)
voidsetMaxConcurrentOperations(int count)
voidsetNoDefaultInstallation(bool value)
voidsetNoForceInstallation(bool value)
voidsetVirtualComponentsFont(const QFont &font)
voidsetVirtualComponentsVisible(bool visible)
boolversionMatches(const QString &version, const QString &requirement)
QFontvirtualComponentsFont()
boolvirtualComponentsVisible()

详细描述

成员类型文档

enum class PackageManagerCore::ComponentType
flags PackageManagerCore::ComponentTypes

此枚举包含要返回的组件列表类型

常量描述
QInstaller::PackageManagerCore::ComponentType::Root0x1返回根组件列表。
QInstaller::PackageManagerCore::ComponentType::Descendants0x2返回所有子孙组件列表。在升级模式下列表为空,因为组件更新不能有子组件。
QInstaller::PackageManagerCore::ComponentType::Dependencies0x4在作为升级程序运行时,返回所有可用的依赖项列表。当作为安装程序、包管理器或卸载程序运行时,此列表始终为空。
QInstaller::PackageManagerCore::ComponentType::Replacements0x8返回与运行模式相关的所有可用的替代组件的列表。
QInstaller::PackageManagerCore::ComponentType::AllNoReplacements(Root | Descendants | Dependencies)返回与运行模式相关的包括根、子孙和依赖组件的可用的组件列表。
QInstaller::PackageManagerCore::ComponentType::All(Root | Descendants | Dependencies | Replacements)返回与运行模式相关的包括根、子孙、依赖和替代组件的所有可用的组件列表。

ComponentTypes 类型是 QFlags<ComponentType> 的 typedef。它存储 ComponentType 值的 OR 组合。

enum PackageManagerCore::Status

此枚举类型包含包管理器状态

常量描述
QInstaller::PackageManagerCore::SuccessEXIT_SUCCESS安装成功。
QInstaller::PackageManagerCore::FailureEXIT_FAILURE安装失败。
QInstaller::PackageManagerCore::Running2安装正在进行中。
QInstaller::PackageManagerCore::Canceled3安装已取消。
QInstaller::PackageManagerCore::Unfinished4安装未完成。
QInstaller::PackageManagerCore::ForceUpdate5必须更新安装。
QInstaller::PackageManagerCore::EssentialUpdated6安装的重要组件被更新。

枚举 PackageManagerCore::WizardPage

此枚举类型包含预定义的包管理器页面

常量描述
QInstaller::PackageManagerCore::简介0x1000简介页面
QInstaller::PackageManagerCore::目标目录0x2000目标目录页面
QInstaller::PackageManagerCore::组件选择0x3000组件选择页面
QInstaller::PackageManagerCore::许可证检查0x4000许可协议页面
QInstaller::PackageManagerCore::开始菜单选择0x5000开始菜单目录页面
QInstaller::PackageManagerCore::准备安装0x6000准备安装页面
QInstaller::PackageManagerCore::执行安装0x7000执行安装页面
QInstaller::PackageManagerCore::安装完成0x8000完成页面

属性文档

[只读] 状态 : const int

安装状态。

访问函数

QInstaller::PackageManagerCore::Status状态()

通知信号

void状态改变(QInstaller::PackageManagerCore::状态)

成员函数文档

PackageManagerCore::PackageManagerCore()

由操作运行器使用以获取伪造的安装程序。

PackageManagerCore::PackageManagerCore(Constant qint64 magicmaker, const QList<QInstaller::OperationBlob> &operations, const QString &datFileName = QString(), const QString &socketName = QString(), const QString &key = QLatin1String(Protocol::DefaultAuthorizationKey), QInstaller::Protocol::Mode mode = Protocol::Mode::Production, const QHash<QString, QString> &params = QHash<QString, QString>(), const bool commandLineInstance = false)

创建安装程序或卸载程序,并对operations 指定的操作进行健全性检查。可以通过 params 指定一个变量哈希表,这些变量将作为包管理器核心值进行存储。根据 commandLineInstance 的值,设置当前实例类型为 GUI 或 CLI。

魔法标记 magicmaker 是一个标识二进制文件类型的 quint64installeruninstaller

创建和初始化远程客户端。请求对 QFileQSettingsQProcess 操作的管理员权限。使用 socketNamekeymode 调用 init() 以设置服务器端授权密钥。

datFileName 包含运行中的 maintenance 工具二进制的对应 .dat 文件名。如果 maintenance 工具无法找到它,或者如果运行的是 installer 而不是 maintenance 工具,则 datFileName 可以为空。

[虚拟 noexcept] PackageManagerCore::~PackageManagerCore()

销毁实例。

[信号] void PackageManagerCore::aboutCalculateComponentsToInstall() const

参见安装程序关于CalculateComponentsToInstall.

[信号] void PackageManagerCore::aboutCalculateComponentsToUninstall() const

参见安装程序关于CalculateComponentsToUninstall.

[可调用] void PackageManagerCore::acceptMessageBoxDefaultButton()

自动使用消息框中设置的默认按钮值。

此功能可用于无人值守(自动)安装。

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

void PackageManagerCore::addAliasSource(const QInstaller::AliasSource &source)

添加新的source用于查找组件别名。

void PackageManagerCore::addFilesForDelayedDeletion(const QStringList &files)

添加延迟删除的files

void PackageManagerCore::addLicenseItem(const QHash<QString, QVariantMap> &licenses)

添加新的licenses集合。如果已存在具有该键的许可证,则不会再次添加。

void PackageManagerCore::addResourcesForOfflineGeneration(const QString &rcPath)

rcPath中的资源集合添加到要包含在生成的离线安装程序二进制文件中的资源文件列表中。

[可调用] void PackageManagerCore::addUserRepositories(const QStringList &repositories)

注册额外的repositories

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

参见安装程序添加用户仓库设置临时仓库

[可调用] bool PackageManagerCore::addWizardPage(QInstaller::Component *component, const QString &name, int page)

component注册的对象名为name的小部件添加为一个新的页面到安装程序的GUI向导中。该小部件在page之前添加。

有关page的可能值,请参见控制器脚本

如果操作成功,则返回true

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

参见安装程序添加向导页面

[可调用] bool PackageManagerCore::addWizardPageItem(QInstaller::Component *component, const QString &name, int page, int position = 100)

将由 component 注册的对象名为 name 的小部件作为 GUI 元素添加到安装程序的 GUI 向导中。该小部件按 position 数量的顺序添加在 page 上。如果在同一页上添加了多个小部件,则位置编号较小的小部件将位于上方。

有关page的可能值,请参见控制器脚本

如果小部件可以在组件的 UI 文件中找到,则返回 true 并发出 wizardWidgetInsertionRequested() 信号。

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

另请参阅 installer.addWizardPageItemremoveWizardPageItemwizardWidgetInsertionRequested

QInstaller::ComponentAlias *PackageManagerCore::aliasByName(const QString &name) const

搜索与 name 匹配的组件别名并返回它。如果没有别名与名称匹配,则返回 nullptr

QList<QInstaller::ComponentAlias *> PackageManagerCore::aliasesMarkedForInstallation() const

返回已标记为安装的组件别名列表。该列表可能为空。

void PackageManagerCore::appendRootComponent(QInstaller::Component *component)

component 作为根组件添加到安装程序或软件包管理器组件的内部存储中。要将组件作为子组件追加到已存在的组件中,请使用 Component::appendComponent。将发出 componentAdded() 信号。

void PackageManagerCore::appendUpdaterComponent(QInstaller::Component *component)

component 追加到更新组件的内部存储中。将发出 componentAdded() 信号。

[可调用] void PackageManagerCore::autoAcceptMessageBoxes()

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

另请参阅 installer.autoAcceptMessageBoxesautoRejectMessageBoxessetMessageBoxAutomaticAnswer

[可调用] void PackageManagerCore::autoRejectMessageBoxes()

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

另请参阅 installer.autoRejectMessageBoxesautoAcceptMessageBoxessetMessageBoxAutomaticAnswer

QString PackageManagerCore::availableSpaceMessage() const

返回有关磁盘空间状态的说明文本。

[可调用] bool PackageManagerCore::calculateComponentsToInstall() const

根据当前运行模式确定要安装的组件,包括组件别名、依赖和自动依赖。成功时返回 true,否则返回 false

在开始计算之前会发出 aboutCalculateComponentsToInstall() 信号,所有计算完成后会发出 finishedCalculateComponentsToInstall() 信号。

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

另请参阅installer.calculateComponentsToInstall

[可调用] bool PackageManagerCore::calculateComponentsToUninstall() const

计算要卸载的组件列表。

在开始计算之前会发出 aboutCalculateComponentsToUninstall() 信号,所有计算完成后会发出 finishedCalculateComponentsToUninstall() 信号。成功时返回 true,否则返回 false

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

另请参阅installer.calculateComponentsToUninstall

[插槽] void PackageManagerCore::cancelMetaInfoJob()

另请参阅installer.cancelMetaInfoJob

bool PackageManagerCore::checkAvailableSpace()

如未明确禁用此功能,则检查可用磁盘空间。如果安装和临时卷上有足够的空间,则返回 true

另请参阅setCheckAvailableSpaceavailableSpaceMessage

[静态] QString PackageManagerCore::checkableName(const QString &name)

在组件 name 中添加冒号符号,作为组件 name 和版本之间的分隔符。

void PackageManagerCore::clearLicenses()

清除之前添加的所有许可。

bool PackageManagerCore::clearLocalCache(QString *error = nullptr)

清除用于存储下载的元数据的缓存的内容。成功时返回 true,否则返回 false。可以通过 error 获取错误字符串。

void PackageManagerCore::commitSessionOperations()

将当前操作暂时保存以供安装程序使用。在单元测试中使用时,需要与同一安装程序实例执行多个命令(例如安装和卸载)。

[信号] void PackageManagerCore::componentAdded(QInstaller::Component *comp)

当添加新的根组件 comp 时发出。

另请参阅installer.componentAdded

[静态] QInstaller::Component *PackageManagerCore::componentByName(const QString &name, const QList<QInstaller::Component *> &components)

components 中搜索与 name 匹配的组件并返回它。 name 也可以包含版本要求。例如,org.qt-project.sdk.qt 返回任何具有该名称的组件,而 org.qt-project.sdk.qt->=4.5 需要返回的组件版本至少为 4.5。如果没有任何组件匹配要求,返回 0

[调用] QInstaller::Component *PackageManagerCore::componentByName(const QString &name) const

返回与 name 匹配的组件。 name 也可以包含版本要求。例如,org.qt-project.sdk.qt 返回任何具有该名称的组件,而 org.qt-project.sdk.qt->=4.5 需要返回的组件版本至少为 4.5。如果没有任何组件匹配要求,返回 0

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

QString PackageManagerCore::componentResolveReasons() const

返回每个组件即将被安装或卸载的原因的 HTML 格式描述,或者在计算要安装和卸载的组件时发生错误的描述。

QInstaller::ScriptEngine *PackageManagerCore::componentScriptEngine() const

返回准备和运行组件脚本的脚本引擎。

另请参阅组件脚本

QInstaller::ComponentSortFilterProxyModel *PackageManagerCore::componentSortFilterProxyModel()

返回代理模型

QList<QInstaller::Component *> PackageManagerCore::components(QInstaller::PackageManagerCore::ComponentTypes mask, const QString &regexp = QString()) const

根据传递给 mask 的组件类型返回组件列表。可选地,可以使用 regexp 表达式进一步过滤列出的软件包。

[调用] QList<QInstaller::Component *> PackageManagerCore::components(const QString &regexp = QString()) const

返回所有当前可用的组件数组。如果尚未获取存储库元数据,则数组将为空。可选地,可以使用 regexp 表达式进一步过滤列出的软件包。

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

另请参阅installer.components

QList<QInstaller::Component *> PackageManagerCore::componentsMarkedForInstallation() const

返回一个标记为安装的组件列表。此列表可能为空。

[信号] void PackageManagerCore::componentsRecalculated()

当组件树被重新计算时发出。在图形界面中,当分类被获取后也会发出此信号。

QString PackageManagerCore::componentsToInstallError() const

返回标记为安装的组件中发现的错误。

QList<QInstaller::Component *> PackageManagerCore::componentsToUninstall() const

返回在评估要安装的组件时发生的错误的可读描述。如果没有错误,则错误消息为空。

另请参阅 calculateComponentsToInstall.

QString PackageManagerCore::componentsToUninstallError() const

返回标记为卸载的组件中发现的错误。

[可调用函数] bool PackageManagerCore::containsFileDialogAutomaticAnswer(const QString &identifier) const

如果具有 ID identifierQFileDialog 已设置自动回答,则返回 true

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

另请参阅 installer.containsFileDialogAutomaticAnswerinstaller.removeFileDialogAutomaticAnswerQFileDialog.getExistingDirectoryQFileDialog.getOpenFileName

[可调用函数] bool PackageManagerCore::containsValue(const QString &key) const

如果安装程序包含 key 的值,则返回 true

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

另请参阅 installer.containsValuevalue(),setValue(),和 valueChanged

QInstaller::ScriptEngine *PackageManagerCore::controlScriptEngine() const

返回用于准备和运行控制脚本的脚本引擎。

另请参阅 控制器脚本

[信号] void PackageManagerCore::coreNetworkSettingsChanged()

另请参阅 installer.coreNetworkSettingsChanged

void PackageManagerCore::createAutoDependencyHash(const QString &component, const QString &oldDependencies, const QString &newDependencies) const

component以及newDependencies添加到哈希表中以加快安装和卸载自动依赖组件的搜索。如果依赖项已更改,则从哈希表中删除oldDependencies

void PackageManagerCore::createLocalDependencyHash(const QString &component, const QString &dependencies) const

component的本地dependencies添加到哈希表中,以便更快地搜索卸载依赖组件。

[静态] bool PackageManagerCore::createLocalRepositoryFromBinary()

如果应从二进制内容创建本地仓库,则返回true

另请参阅setCreateLocalRepositoryFromBinary

QInstaller::PackageManagerCore::Status PackageManagerCore::createOfflineInstaller(const QStringList &componentsToAdd)

从所选componentsToAdd创建离线安装器,不显示用户界面。除非使用–show-virtual-components参数(如在安装时一样)使虚拟组件可见,否则不能选择虚拟组件。不能直接选择AutoDependOn或不可选组件。返回PackageManagerCore::Status

[信号] void PackageManagerCore::currentPageChanged(int page)

当前页page更改时发出。

另请参阅installer.currentPageChanged

QInstaller::ComponentModel *PackageManagerCore::defaultComponentModel() const

返回默认组件模型。

[信号] void PackageManagerCore::defaultTranslationsLoadedForLanguage(QLocale lang)

语言lang更改时发出。

QList<QInstaller::Component *> PackageManagerCore::dependees(const QInstaller::Component *_component) const

返回依赖_component的组件列表。该列表可以空。

注意:不会解析自动依赖。

[可调用] void PackageManagerCore::deselectComponent(const QString &id)

取消选择具有id的组件。

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

另请参阅installer.deselectComponentselectComponent

bool PackageManagerCore::directoryWritable(const QString &path) const

如果由 path 指定的目录对当前用户可写,则返回 true

void PackageManagerCore::disableWriteMaintenanceTool(bool disable = true)

如果 disabletrue,则禁用当前会话的维护工具写入。

[signal] void PackageManagerCore::downloadArchivesFinished()

所有组件的数据存档已成功下载时发出。

另请参阅 installer.downloadArchivesFinished

int PackageManagerCore::downloadNeededArchives(double partProgressSize)

返回将要下载的存档数量。

partProgressSize 保留用于下载进度。

[invokable] void PackageManagerCore::dropAdminRights()

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

另请参阅 installer.dropAdminRightsgainAdminRights

[invokable] QString PackageManagerCore::environmentVariable(const QString &name) const

返回环境变量 name 的内容。如果未设置环境变量,则返回空字符串。

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

另请参阅 installer.environmentVariable

QString PackageManagerCore::error() const

返回最后发生错误的可读描述。

[invokable] QList<QVariant> PackageManagerCore::execute(const QString &program, const QStringList &arguments = QStringList(), const QString &stdIn = QString(), const QString &stdInCodec = QLatin1String("latin1"), const QString &stdOutCodec = QLatin1String("latin1")) const

以新进程启动程序 program,并用参数 arguments 运行,等待其完成。

stdIn 作为标准输入发送到应用程序。

stdInCodec 是用于将输入字符串转换为字节写入应用程序标准输入的编解码器的名称。

stdOutCodec 是用于将应用程序写入标准输出的数据转换为字符串的编解码器的名称。

如果程序无法执行,则返回空数组;否则,以命令输出作为第一个项目,返回代码作为第二个项目。

注意: 在 Unix 上,输出只是输出到 stdout,而不是 stderr。

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

另请参阅 installer.executeexecuteDetached

[可调用] bool PackageManagerCore::executeDetached(const QString &program, const QStringList &arguments = QStringList(), const QString &workingDirectory = QString()) const

以新进程启动程序 program 并使用参数 arguments,然后与之断开连接。成功时返回 true,否则返回 false。如果安装程序退出,断开的进程将继续存在。

注意:包含空格的参数不会作为单独的参数传递给进程。

Unix:启动的进程将在其自己的会话中运行,并像守护进程一样运行。

Windows:包含空格的参数将被引号包围。启动的进程将以常规的独立进程运行。

进程将在目录 workingDirectory 中启动。

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

另请参阅 installer.executeDetached

bool PackageManagerCore::fetchCompressedPackagesTree()

检查要安装的压缩包。如果存在更新的版本并且可以安装,则返回 true

bool PackageManagerCore::fetchLocalPackagesTree()

如果包管理器正在运行且找到了已安装的包,则返回 true。否则,返回 false

bool PackageManagerCore::fetchRemotePackagesTree(const QStringList &components = QStringList())

检查要安装的包。如果存在更新的版本并且可以安装,则返回 true。如果没有找到要安装的 components 或者获取和生成包树时出错,则返回 false

QHash<QString, QString> PackageManagerCore::fileDialogAutomaticAnswers() const

返回文件对话框自动答案的哈希值

另请参阅 setFileDialogAutomaticAnswer

[可调用] bool PackageManagerCore::fileExists(const QString &filePath) const

如果 filePath 存在,则返回 true;否则返回 false

注意:如果文件是一个指向非现有文件的符号链接,则返回 false

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

另请参阅 installer.fileExists

QStringList PackageManagerCore::filesForDelayedDeletion() const

返回用于延迟删除的文件列表。

[静态可调用] QString PackageManagerCore::findLibrary(const QString &name, const QStringList &paths = QStringList())

paths中查找名为 name 的库。如果paths为空,则填充为平台相关的默认路径。返回的结果路径。

此方法可由脚本用于检查外部依赖。

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

另请参阅installer.findLibraryfindPath

[静态调用] QString PackageManagerCore::findPath(const QString &name, const QStringList &paths = QStringList())

尝试在由paths指定的路径中找到一个名为name的文件。返回的结果路径。

此方法可由脚本用于检查外部依赖。

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

另请参阅installer.findPathfindLibrary

[信号] void PackageManagerCore::finishAllComponentsReset(const QList<QInstaller::Component *> &rootComponents)

当新根组件列表rootComponents已更新时触发。

另请参阅installer.finishAllComponentsResetstartAllComponentsReset

[信号] void PackageManagerCore::finishButtonClicked()

另请参阅installer.finishButtonClicked

[信号] void PackageManagerCore::finishUpdaterComponentsReset(const QList<QInstaller::Component *> &componentsWithUpdates)

当可用的远程更新列表componentsWithUpdates已更新时触发。

另请参阅installer.finishUpdaterComponentsReset

[信号] void PackageManagerCore::finishedCalculateComponentsToInstall() const

另请参阅installer.finishedCalculateComponentsToInstall

[信号] void PackageManagerCore::finishedCalculateComponentsToUninstall() const

另请参阅installer.finishedCalculateComponentsToUninstall

bool PackageManagerCore::finishedWithSuccess() const

如果至少有一个完整的安装或更新成功,即使用户取消最近安装过程,也返回true

bool PackageManagerCore::foundEssentialUpdate() const

如果发现了一个必要的组件更新,则返回true

另请参阅setFoundEssentialUpdate

[可调用] QString PackageManagerCore::fromNativeSeparators(const QString &path)

使用'/'作为文件分隔符返回path

在Unix平台上,返回的字符串与参数相同。

注意:此函数不会解析预定义变量,如@TargetDir@。要转换分隔符到预定义变量,请先使用installer.value()解析变量。

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

另请参阅:installer.fromNativeSeparatorstoNativeSeparatorsinstaller.value

[可调用] bool PackageManagerCore::gainAdminRights()

尝试获取管理员权限。成功时返回true

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

另请参阅:installer.gainAdminRightsdropAdminRights

QStringList PackageManagerCore::givenArguments() const

返回用户运行安装程序时提供的命令和选项。

QObject *PackageManagerCore::guiObject() const

返回GUI对象。

另请参阅:setGuiObject

[信号] void PackageManagerCore::guiObjectChanged(QObject *gui)

在GUI对象设置为gui时发出。

[可调用] bool PackageManagerCore::hasAdminRights() const

如果安装程序有管理员权限,则返回true。例如,如果安装程序是用root账户启动的,或者内部管理员权限提升是激活的。

否则返回false

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

另请参阅:installer.hasAdminRightsgainAdminRightsdropAdminRights

QInstaller::PackageManagerCore::Status PackageManagerCore::installDefaultComponentsSilently()

在没有GUI的情况下安装默认选定的组件,即那些设置有<Default>或<ForcedInstallation>及其相关依赖项的组件。返回PackageManagerCore安装状态。

QInstaller::Component *PackageManagerCore::installReason(QInstaller::Component *component) const

返回为什么需要安装component的原因

  • 组件已被安排安装。
  • 组件作为另一个组件的依赖项添加。
  • 组件被添加为自动依赖项。

QInstaller::PackageManagerCore::Status PackageManagerCore::installSelectedComponentsSilently(const QStringList &components)

以无界面方式安装所选组件,而不会显示用户界面。除非使用–show-virtual-components使其可见,否则无法安装虚拟组件。无法直接安装AutoDependOn或不可选组件。返回PackageManagerCore的安装状态。

bool PackageManagerCore::installationAllowedToDirectory(const QString &targetDirectory)

检查是否允许在目标目录进行安装

  • 如果目录不存在,则返回true
  • 如果目录存在且为空,则返回true
  • 如果目录已存在并包含安装,则返回false
  • 如果目标是文件或符号链接,则返回false
  • 如果目录存在但不是空的,则根据最终用户在显示的消息框中的选择返回truefalse

[信号] void PackageManagerCore::installationFinished()

另请参阅installer.installationFinishedinstallationStarted()和installationInterrupted

[信号] void PackageManagerCore::installationInterrupted()

另请参阅installer.installationInterruptedinterruptinstallationStartedinstallationFinished

[信号] void PackageManagerCore::installationStarted()

另请参阅installer.installationStartedinstallationFinishedinstallationInterrupted

QString PackageManagerCore::installerBaseBinary() const

返回用于编写维护工具时使用的installerbase二进制文件的值。值可以为空。

另请参阅setInstallerBaseBinary

[信号] void PackageManagerCore::installerBinaryMarkerChanged(qint64 magicMarker)

当安装器二进制文件标记magicMarker更改时发出。

QString PackageManagerCore::installerBinaryPath() const

返回安装器二进制文件的路径。

[槽函数] void PackageManagerCore::interrupt()

另请参阅installer.interruptinstallationInterrupted

[可调用函数] bool PackageManagerCore::isCommandLineDefaultInstall() const

如果使用默认组件执行安装,则返回true

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

参见installer.isCommandLineDefaultInstall

[可调用] bool PackageManagerCore::isCommandLineInstance() const

如果作为命令行实例运行,则返回 true

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

参见installer.isCommandLineInstance

bool PackageManagerCore::isDependencyForRequestedComponent(const QInstaller::Component *component) const

如果即将安装或更新的组件依赖于 component,则返回 true

[可调用] bool PackageManagerCore::isFileExtensionRegistered(const QString &extension) const

返回文件扩展名 extension 是否已在前台注册在 Windows 注册表中。所有其他平台返回 false

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

参见installer.isFileExtensionRegistered

[可调用] bool PackageManagerCore::isInstaller() const

如果作为安装程序运行,则返回 true

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

参见installer.isInstallerisUninstaller(),isUpdater(),以及 isPackageManager

bool PackageManagerCore::isMaintainer() const

如果是包管理器或更新程序,则返回 true

[可调用] bool PackageManagerCore::isOfflineGenerator() const

如果当前安装程序作为离线生成器执行,则返回 true

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

参见installer.isOfflineGenerator

[可调用] bool PackageManagerCore::isOfflineOnly() const

如果是仅限离线的安装程序,则返回 true

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

参见installer.isOfflineOnly

[可调用] bool PackageManagerCore::isPackageManager() const

如果作为包管理器运行,则返回 true

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

参见installer.isPackageManagersetPackageManager(),isInstaller(),isUninstaller(),以及 isUpdater

[可调用] bool PackageManagerCore::isPackageViewer() const

如果当前安装程序作为包查看器执行,则返回 true

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

参见installer.isPackageViewer

[可调用] bool PackageManagerCore::isProcessRunning(const QString &name) const

如果存在一个具有 名称 的进程正在运行,则返回 true。在 Windows 上,比较不区分大小写。

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

另请参阅 installer.isProcessRunning

[可调用] bool PackageManagerCore::isUninstaller() const

如果作为卸载程序运行,则返回 true

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

另请参阅 installer.isUninstallersetUninstaller()、isInstaller()、isUpdater() 和 isPackageManager

[可调用] bool PackageManagerCore::isUpdater() const

如果作为更新程序运行,则返回 true

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

另请参阅 installer.isUpdatersetUpdater()、isInstaller()、isUninstaller() 和 isPackageManager

[可调用] bool PackageManagerCore::isUserSetBinaryMarker() const

如果用户已设置魔幻二进制标记(例如,从命令行参数),则返回 true

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

另请参阅 installer.isUserSetBinaryMarker

bool PackageManagerCore::isValidCache() const

如果元数据缓存已初始化且有效,则返回 true,否则返回 false

bool PackageManagerCore::isVerbose() const

如果软件包管理器显示详细信息,则返回 true

[可调用] QString PackageManagerCore::key(const QString &value) const

返回 value 的安装程序键。如果 value 未知,则返回空字符串。

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

另请参阅 installer.key

[可调用] bool PackageManagerCore::killProcess(const QString &absoluteFilePath) const

如果可以杀死具有 absoluteFilePath 的进程或者该进程没有运行,则返回 true

注意:这是半阻塞方式实现的(为了保持主线程绘图)。

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

另请参阅 installer.killProcess

[槽] void PackageManagerCore::languageChanged()

另请参阅 installer.languageChanged

bool PackageManagerCore::listAvailableAliases(const QString &regexp = QString())

以 GUI 之外的 regexp 过滤列出可用的组件别名。除非设置为可见,否则不列出虚拟别名。

如果找到匹配的软件包别名,则返回 true,否则返回 false

另请参阅 setVirtualComponentsVisible

bool PackageManagerCore::listAvailablePackages(const QString &regexp = QString(), const QHash<QString, QString> &filters = QHash<QString, QString>())

列出不带GUI的通过regexp筛选的可用软件包。除非设置为可见,否则不会列出虚拟组件。可以使用包含软件包信息元素和正则表达式的filters哈希来进一步筛选列出的软件包。

如果找到了匹配的软件包则返回true,否则返回false

另请参阅 setVirtualComponentsVisible

void PackageManagerCore::listInstalledPackages(const QString &regexp = QString())

列出不带GUI的已安装软件包。可以使用regexp对软件包列表进行筛选。

QStringList PackageManagerCore::localDependenciesToComponent(const QInstaller::Component *component) const

返回依赖于component的本地组件的列表。

QInstaller::LocalPackagesMap PackageManagerCore::localInstalledPackages()

返回本地已安装软件包的列表。该列表可能为空。

[可调用] bool PackageManagerCore::localInstallerBinaryUsed()

如果安装程序在Windows上运行,并且是从远程文件系统驱动器启动的,则返回false。否则返回true

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

另请参阅installer.localInstallerBinaryUsedsetDependsOnLocalInstallerBinary

QString PackageManagerCore::maintenanceToolName() const

返回维护工具二进制文件的路径名。

[静态] int PackageManagerCore::maxConcurrentOperations()

返回在给定时间内应该并发运行的最大操作数。

目前这仅影响解压缩阶段的操作。

另请参阅setMaxConcurrentOperations

[信号] void PackageManagerCore::metaJobInfoMessage(const QString &message)

使用与远程仓库的通信的message信息更新触发。

另请参阅installer.metaJobInfoMessage

[信号] void PackageManagerCore::metaJobProgress(int progress)

使用与远程仓库的通信的进度更新触发。进度progress的范围从0到100。

另请参阅installer.metaJobProgress

[信号] void PackageManagerCore::metaJobTotalProgress(int progress)

在与其他远程仓库通信的总进度值发生变化时触发。

另请参阅installer.metaJobTotalProgress

bool PackageManagerCore::needsHardRestart() const

如果请求应用程序进行强制重启,则返回true

另请参阅setNeedsHardRestart

void PackageManagerCore::networkSettingsChanged()

在网络设置发生变化时发出coreNetworkSettingsChanged()信号。

[静态] bool PackageManagerCore::noDefaultInstallation()

如果尽管设置了包信息文件中的<Default>元素,但组件未默认选中,则返回true

另请参阅setNoDefaultInstallation

[静态] bool PackageManagerCore::noForceInstallation()

如果对于在包信息文件中设置了<ForcedInstallation>元素的组件未设置强制安装,则返回true

另请参阅setNoForceInstallation

QString PackageManagerCore::offlineBinaryName() const

返回为生成的离线二进制文件设置的路径。

另请参阅setOfflineBinaryName

[信号] void PackageManagerCore::offlineGenerationFinished()

另请参阅installer.offlineGenerationFinished

[信号] void PackageManagerCore::offlineGenerationStarted()

另请参阅installer.offlineGenerationStarted

[调用] bool PackageManagerCore::operationExists(const QString &name)

如果存在由name指定的操作,则返回true

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

QList<QInstaller::Component *> PackageManagerCore::orderedComponentsToInstall() const

返回要安装的组件的有序列表。列表可能为空。

[静态] void PackageManagerCore::parseNameAndVersion(const QString &requirement, QString *name, QString *version)

requirement组件中解析nameversion。在requirement中,nameversion通过冒号或连字符隔开。

[static] QStringList PackageManagerCore::parseNames(const QStringList &requirements)

requirements组件中排除版本号。在requirements列表中包含具有名称和版本的名称。

返回包含不带版本号的名称的列表。

[invokable] bool PackageManagerCore::performOperation(const QString &name, const QStringList &arguments)

使用arguments执行name操作。

如果无法创建或执行操作,则返回false

注意:操作是线程化的。不建议在安装完成信号后调用此函数。

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

另请参阅:installer.performOperation

QInstaller::PackageManagerProxyFactory *PackageManagerCore::proxyFactory() const

返回包管理器使用的代理工厂的副本,以确定请求中要使用的代理。

另请参阅:setProxyFactory

[invokable] QString PackageManagerCore::readConsoleLine(const QString &title = QString(), qint64 maxlen = 0) const

title打印到控制台,并读取控制台输入。该函数将停止安装程序并等待用户输入。返回用户输入到控制台的行。最大允许的行长度设置为maxlen。如果行长度超过此长度,则行将在maxlen字符后分割。如果maxlen为0,则行可以是任意长度。

注意:只能在没有GUI的命令行实例安装时调用。如果输出设备不是TTY,即转发到文件时,该函数将引发错误。

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

另请参阅:installer.readConsoleLine

[invokable] QString PackageManagerCore::readFile(const QString &filePath, const QString &codecName) const

使用codecName指定的编码返回filePath文件的内容。以文本模式读取文件,即行终止符号被转换为本地编码。

注意:如果文件不存在或读取文件时发生错误,则返回空字符串。

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

另请参阅:installer.readFile

[invokable] bool PackageManagerCore::recalculateAllComponents()

重新计算要安装和卸载的所有组件。成功时返回true,否则返回false。详细的错误信息可以通过{installer::componentsToInstallError}和{installer::componentsToUninstallError}检索。

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

QInstaller::PackagesList PackageManagerCore::remotePackages()

返回检查到的所有仓库中可用的包列表。

[invokable] void PackageManagerCore::removeFileDialogAutomaticAnswer(const QString &identifier)

移除具有ID identifierQFileDialog 的自动答案。可以从脚本来调用 QFileDialog

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

另请参阅 installer.removeFileDialogAutomaticAnswerQFileDialog.getExistingDirectoryQFileDialog.getOpenFileName

QInstaller::PackageManagerCore::Status PackageManagerCore::removeInstallationSilently()

在不使用GUI的情况下卸载所有已安装的组件并删除程序目录。返回 PackageManagerCore 安装状态。

[invokable] bool PackageManagerCore::removeWizardPage(QInstaller::Component *component, const QString &name)

移除之前通过 component 添加到安装向导中的具有对象名 name 的小部件。

如果操作成功,则返回true

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

另请参阅 installer.removeWizardPageaddWizardPage()、setDefaultPageVisiblewizardPageRemovalRequested

[invokable] bool PackageManagerCore::removeWizardPageItem(QInstaller::Component *component, const QString &name)

移除之前通过 component 添加到安装向导中的具有对象名 name 的小部件。

如果该小部件在组件的UI文件中可以找到,则返回 true 并发出 wizardWidgetRemovalRequested() 信号。

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

另请参阅 installer.removeWizardPageItemaddWizardPageItem

QString PackageManagerCore::replaceVariables(const QString &str) const

str 中所有的变量替换为其对应的值并返回结果。

QByteArray PackageManagerCore::replaceVariables(const QByteArray &ba) const

这是一个重载函数。

ba 中所有的变量替换为其对应的值并返回结果。

QStringList PackageManagerCore::replaceVariables(const QStringList &str) const

这是一个重载函数。

str 中任何实例的变量替换为其对应的值并返回结果。

[可调用] quint64 PackageManagerCore::requiredDiskSpace() const

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

另请参阅 installer.requiredDiskSpacerequiredTemporaryDiskSpace

[可调用] quint64 PackageManagerCore::requiredTemporaryDiskSpace() const

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

另请参阅 installer.requiredTemporaryDiskSpacerequiredDiskSpace

void PackageManagerCore::reset()

将类重置为其初始状态。

void PackageManagerCore::resetBinaryMarkerSupplement()

将安装程序的二进制标记补充重置为 默认。补充功能在二进制标记状态之上使能或禁用了附加功能(InstallerUpdaterPackageManagerUninstaller)。

bool PackageManagerCore::resetLocalCache(bool init = false)

如果之前已初始化,重置用于存储下载元数据的缓存。如果init设置为true,则缓存将重新初始化为安装程序设置中配置的路径。

如果成功返回true,否则返回false

void PackageManagerCore::rollBackInstallation()

取消安装并执行已执行的所有操作的撤销步骤。

bool PackageManagerCore::run()

根据此二进制类型运行安装程序、卸载程序、更新程序、包管理器或离线生成器。如果成功返回true,否则返回false

[槽函数] bool PackageManagerCore::runInstaller()

运行安装程序。如果成功返回true,否则返回false

另请参阅 installer.runInstaller

[槽函数] bool PackageManagerCore::runOfflineGenerator()

运行离线生成器。如果成功返回true,否则返回false

另请参阅 installer.runOfflineGenerator

[槽函数] bool PackageManagerCore::runPackageUpdater()

运行更新程序。如果成功返回true,否则返回false

另请参阅 installer.runPackageUpdater

[槽函数] bool PackageManagerCore::runUninstaller()

运行卸载程序。如果成功返回true,否则返回false

另请参阅 installer.runUninstaller

void PackageManagerCore::saveGivenArguments(const QStringList &args)

保存安装程序运行时用户提供的args参数。命令和选项参数不会被保存。

[可调用] void PackageManagerCore::selectComponent(const QString &id)

选择拥有id的组件。

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

另请参阅installer.selectComponentdeselectComponent

[可调用] void PackageManagerCore::setAutoAcceptLicenses()

自动接受安装所选组件所需的所有许可协议。

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

另请参阅installer.setAutoAcceptLicenses

void PackageManagerCore::setAutoConfirmCommand()

设置为自动确认安装、更新或删除,无需询问用户。

[信号] void PackageManagerCore::setAutomatedPageSwitchEnabled(bool request)

当启用了从执行安装向安装完成页面的自动切换时(requesttrue)或在requestfalse时禁用了自动切换。

当用户展开或折叠PerformInstallation页面的详细信息部分时,会自动禁用自动切换。

另请参阅installer.setAutomatedPageSwitchEnabled

[槽函数] void PackageManagerCore::setCanceled()

另请参阅installer.setCanceled

void PackageManagerCore::setCheckAvailableSpace(bool check)

根据check的值设置checkAvailableSpace

另请参阅checkAvailableSpace

void PackageManagerCore::setCommandLineInstance(bool commandLineInstance)

根据commandLineInstance设置使用命令行实例。

另请参阅isCommandLineInstance

[槽函数] void PackageManagerCore::setCompleteUninstallation(bool complete)

设置卸载为complete。如果complete为false,则仅卸载用户取消选择的组件。此选项仅适用于卸载。

另请参阅installer.setCompleteUninstallation

[静态] void PackageManagerCore::setCreateLocalRepositoryFromBinary(bool create)

create 参数为 true 时,确定从二进制内容创建本地仓库。

另请参阅createLocalRepositoryFromBinary()。

[可调用] bool PackageManagerCore::setDefaultPageVisible(int page, bool visible)

设置 ID 为 page 的默认页面的可见性为 visible。即将其从向导中删除或添加。这仅适用于在启动安装程序时已在安装程序中的页面。

返回 true

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

另请参阅installer.setDefaultPageVisibleaddWizardPage() 以及 removeWizardPage()。

[可调用] void PackageManagerCore::setDependsOnLocalInstallerBinary()

确保安装程序从本地驱动器运行。否则,用户将收到适当的错误消息。

注意:此功能仅在 Windows 上有效。

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

另请参阅installer.setDependsOnLocalInstallerBinary 以及 localInstallerBinaryUsed()。

[可调用] void PackageManagerCore::setFileDialogAutomaticAnswer(const QString &identifier, const QString &value)

自动设置 ID 为 identifier 的现有目录或文件名 valueQFileDialog。可以从脚本调用 QFileDialog

此功能可用于无人值守(自动)安装。

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

另请参阅installer.setFileDialogAutomaticAnswerQFileDialog.getExistingDirectory 以及 QFileDialog.getOpenFileName

void PackageManagerCore::setFoundEssentialUpdate(bool foundEssentialUpdate = true)

设置 foundEssentialUpdate 的值,默认为 true

另请参阅foundEssentialUpdate()。

void PackageManagerCore::setGuiObject(QObject *gui)

将维护工具 UI 设置为 gui

另请参阅guiObject()。

[可调用] void PackageManagerCore::setInstaller()

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

另请参阅installer.setInstallerisInstallersetUpdater 以及 setPackageManager()。

[可调用] void PackageManagerCore::setInstallerBaseBinary(const QString &path)

在写入维护工具时,设置位于 pathinstallerbase 二进制文件为使用。如果有二进制文件的更新,则设置路径。

如果没有设置路径,将使用正在运行的安装程序或卸载程序的可执行段。

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

另见 installerBaseBinary() 和 installer.setInstallerBaseBinary.

[静态] void PackageManagerCore::setMaxConcurrentOperations(int count)

设置在特定时间内应同时运行的最多操作数 count。值 0 与自动计数同义。

目前这仅影响解压缩阶段的操作。

另见 maxConcurrentOperations().

[可调用] void PackageManagerCore::setMessageBoxAutomaticAnswer(const QString &identifier, int button)

自动关闭具有 ID identifier 的消息框,就像用户已按下 button 一样。

此功能可用于无人值守(自动)安装。

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

另见 installer.setMessageBoxAutomaticAnswerQMessageBoxautoAcceptMessageBoxesautoRejectMessageBoxes.

void PackageManagerCore::setNeedsHardRestart(bool needsHardRestart = true)

如果 needsHardRestart 设置为 true,则使组件能够请求应用程序进行强制重启。

另见 needsHardRestart().

[静态] void PackageManagerCore::setNoDefaultInstallation(bool value)

value 覆盖组件在包信息文件中 <Default> 元素指定的值。将 value 设置为 true 将取消选中组件。

另见 noDefaultInstallation().

[静态] void PackageManagerCore::setNoForceInstallation(bool value)

value 覆盖组件在包信息文件中 <ForcedInstallation> 元素指定的值。这使用户能够在安装程序中选择或取消选择组件。

另见 noForceInstallation().

void PackageManagerCore::setOfflineBaseBinary(const QString &path)

设置在 path 位置找到的 installerbase 可执行文件,用于写入离线安装程序。设置此选项可以使得我们不在运行真正的安装程序时运行离线生成器,即在进行自动测试时。

对于常规运行,将使用正在运行的安装程序的执行段。

void PackageManagerCore::setOfflineBinaryName(const QString &name)

设置生成的离线二进制文件的 name

另见 offlineBinaryName().

void PackageManagerCore::setOfflineGenerator()

将当前安装程序设置为离线生成器。

另请参阅 isOfflineGenerator()。

[可调用] void PackageManagerCore::setPackageManager()

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

另请参阅 isPackageManager() 和 installer.setPackageManager

void PackageManagerCore::setPackageViewer()

将当前安装程序设置为包查看器。

另请参阅 isPackageViewer()。

void PackageManagerCore::setProxyFactory(QInstaller::PackageManagerProxyFactory *factory)

将包管理器的代理工厂设置为 factory。代理工厂用于确定针对特定请求应使用的更具体的代理列表,而不是尝试对所有请求使用相同的代理值。这仅对HTTP或FTP请求可能有用。

另请参阅 proxyFactory()。

[可调用] void PackageManagerCore::setTemporaryRepositories(const QStringList &repositories, bool replace = false, bool compressed = false)

如果 replacefalse,则为安装程序或更新器实例设置附加 repositories。也可以添加压缩存储库。将再次调用它后会被删除。

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

另请参阅 installer.setTemporaryRepositoriesaddUserRepositories

[可调用] void PackageManagerCore::setUninstaller()

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

另请参阅 installer.setUninstallerisUninstallersetUpdatersetPackageManager

[可调用] void PackageManagerCore::setUpdater()

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

另请参阅 installer.setUpdaterisUpdatersetUninstallersetPackageManager

void PackageManagerCore::setUserSetBinaryMarker(qint64 magicMarker)

根据 magicMarker 和 userSetBinaryMarker 将安装程序魔法二进制标记设置为 true

另请参阅 isUserSetBinaryMarker()。

[可调用] void PackageManagerCore::setValidatorForCustomPage(QInstaller::Component *component, const QString &name, const QString &callbackName)

为指定由 namecallbackName 定义的组件 component 的自定义页面设置验证器。

在使用此功能时,名称 必须与以 Dynamic 开头的动态页面相匹配。例如,如果页面的名称是 DynamicReadyToInstallWidget,则 名称 应设置为 ReadyToInstallWidget回调名称 应设置为返回布尔值的函数。当在自定义页面按 下一步 按钮时,它将调用 回调名称 函数。如果此返回 true,则将跳转到下一个页面。

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

另请参阅 installer.setValidatorForCustomPagesetValidatorForCustomPageRequested

[信号] void PackageManagerCore::setValidatorForCustomPageRequested(QInstaller::Component *component, const QString &name, const QString &callbackName)

请求为指定 名称回调名称 的自定义页面设置验证器,适用于组件 component。在调用 setValidatorForCustomPage() 时触发。

另请参阅 installer.setValidatorForCustomPageRequested

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

将安装程序的 key 值设置为 value

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

另请参阅 installer.setValuevalue()、containsValue() 和 valueChanged

void PackageManagerCore::setVerbose(bool on)

ontrue 时,确定软件包管理器显示详细信息。调用 setVerbose() 多次会增加详细程度。

另请参阅 isVerbose

[静态] void PackageManagerCore::setVirtualComponentsFont(const QFont &font)

将虚拟组件的字体设置为 font

另请参阅 virtualComponentsFont

[静态] void PackageManagerCore::setVirtualComponentsVisible(bool visible)

如果 visibletrue,则显示虚拟组件。

另请参阅 virtualComponentsVisible

QInstaller::Settings &PackageManagerCore::settings() const

返回软件包管理器的设置。

quint64 PackageManagerCore::size(QInstaller::Component *component, const QString &value) const

返回组件 componentvalue 的大小。

QHash<QString, QMap<QString, QString>> PackageManagerCore::sortedLicenses()

返回可以按照优先级排序的许可证哈希。

[signal] void PackageManagerCore::startAllComponentsReset()

参见installer.startAllComponentsResetfinishAllComponentsReset

[signal] void PackageManagerCore::startUpdaterComponentsReset()

参见installer.startUpdaterComponentsReset

QString PackageManagerCore::targetDirWarning(const QString &targetDirectory) const

如果目标目录路径 targetDirectory 未设置或无效,则返回警告。

[signal] void PackageManagerCore::titleMessageChanged(const QString &title)

当安装程序状态(在 PerformInstallation 页上)的文本更改为 title 时发出。

参见installer.titleMessageChanged

[invokable] QString PackageManagerCore::toNativeSeparators(const QString &path)

返回将 path 的 '/' 分隔符转换为底层操作系统的适当分隔符的路径。

在Unix平台上,返回的字符串与参数相同。

注意:此函数不会解析预定义变量,如@TargetDir@。要转换分隔符到预定义变量,请先使用installer.value()解析变量。

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

参见installer.toNativeSeparatorsfromNativeSeparators() 和 installer.value

QInstaller:: PackageManagerCore::Status PackageManagerCore::uninstallComponentsSilently(const QStringList &components)

在没有GUI的情况下卸载所选组件 components。返回 PackageManagerCore 安装状态。

QString PackageManagerCore::uninstallReason(QInstaller::Component *component) const

返回 component 需要卸载的原因

  • 组件已计划卸载。
  • 组件被另一个组件替换。
  • 组件是虚拟的,并且其依赖项已卸载。
  • 组件的依赖项已卸载。
  • 组件的自依赖项已卸载。

[signal] void PackageManagerCore::uninstallationFinished()

参见installer.uninstallationFinisheduninstallationStarted

[signal] void PackageManagerCore::uninstallationStarted()

参阅:installer.uninstallationStarteduninstallationFinished

[signal] void PackageManagerCore::unstableComponentFound(const QString &type, const QString &errorMessage, const QString &component)

当找到包含不稳定type和不稳定errorMessage的不稳定component时将发出此信号。

QInstaller::PackageManagerCore::Status PackageManagerCore::updateComponentsSilently(const QStringList &componentsToUpdate)

在不使用GUI的情况下更新所选组件componentsToUpdate。如果发现关键组件,则只更新这些组件。返回PackageManagerCore的安装状态。

[signal] void PackageManagerCore::updateFinished()

参阅:installer.installationFinished

QInstaller::ComponentModel *PackageManagerCore::updaterComponentModel() const

返回更新组件模型。

[invokable] QString PackageManagerCore::value(const QString &key, const QString &defaultValue = QString(), const int &format = QSettings::NativeFormat) const

返回指定密钥key的安装程序值。如果系统不知道密钥key,则返回defaultValue。此外,在Windows上,key可以是注册表密钥。您可以指定注册表密钥的format。默认情况下,formatQSettings::NativeFormat。要从在64位Windows上运行的64位应用程序访问32位系统注册表,请使用QSettings::Registry32Format。要从在64位Windows上运行的32位应用程序访问64位系统注册表,请使用QSettings::Registry64Format

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

参阅:installer.valuesetValuecontainsValuevalueChanged

[signal] void PackageManagerCore::valueChanged(const QString &key, const QString &value)

当密钥key的值value发生变化时将发出此信号。

参阅:installer.valueChangedsetValue

[可调用的] QStringList PackageManagerCore::values(const QString &key, const QStringList &defaultValue = QStringList()) const

返回 key 的安装器值。如果系统不知道 key,则返回 defaultValue。此外,在 Windows 上,key 可以是一个注册表键。

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

参见installer.valuesvalue

[静态可调用的] bool PackageManagerCore::versionMatches(const QString &version, const QString &requirement)

versionrequirement 匹配时返回 truerequirement 可以是一个固定的版本号,也可以用比较符 '>'、'>='、'<'、'<=' 和 '=' 进行前缀。

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

参见installer.versionMatches

[静态] QFont PackageManagerCore::virtualComponentsFont()

返回虚拟组件的字体。

参见setVirtualComponentsFont

[静态] bool PackageManagerCore::virtualComponentsVisible()

如果虚拟组件可见则返回 true

另请参阅 setVirtualComponentsVisible

[信号] void PackageManagerCore::wizardPageInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page)

当通过 addWizardPage 将自定义 widget 插入 page 时发出。

参见installer.wizardPageInsertionRequested

[信号] void PackageManagerCore::wizardPageRemovalRequested(QWidget *widget)

当通过 removeWizardPage 删除 widget 时发出。

参见installer.wizardPageRemovalRequested

[信号] void PackageManagerCore::wizardPageVisibilityChangeRequested(bool visible, int page)

当页面的 ID 为 page 的页面可见性变为 visible 时发出。

参见setDefaultPageVisibleinstaller.wizardPageVisibilityChangeRequested

[信号] void PackageManagerCore::wizardWidgetInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page, int position)

当通过 addWizardPageItem() 将 小部件 插入 页面 时发出。如果多个小部件被添加到同一 页面,则位置编号较低的小部件将位于顶部。

另请参阅 installer.wizardWidgetInsertionRequested

[信号] void PackageManagerCore::wizardWidgetRemovalRequested(QWidget *小部件)

当通过 removeWizardPageItem() 移除 小部件 时发出。

另请参阅 installer.wizardWidgetRemovalRequested

void PackageManagerCore::writeMaintenanceConfigFiles()

创建维护工具配置文件。

void PackageManagerCore::writeMaintenanceTool()

在安装目录中创建维护工具。

©2021 The Qt Company Ltd. 本文档的文档贡献属于其各自的拥有者。所提供的文档根据自由软件基金会发布的 GNU 自由文档许可协议第 1.3 版许可。Qt Company、Qt 及其各自的品牌是在芬兰及/或其他国家和地区的商标。所有其他商标均为各自拥有者的财产。