QHelpEngineCore 类

QHelpEngineCore 类提供了帮助系统的核心功能。更多...

头文件 #include <QHelpEngineCore>
CMakefind_package(Qt6 REQUIRED COMPONENTS Help)
target_link_libraries(mytarget PRIVATE Qt6::Help)
qmakeQT += help
继承 QObject
继承自

QHelpEngine

属性

公有函数

QHelpEngineCore(const QString &collectionFile, QObject *parent = nullptr)
virtual~QHelpEngineCore()
boolautoSaveFilter() const
QStringcollectionFile() const
boolcopyCollectionFile(const QString &fileName)
QVariantcustomValue(const QString &key, const QVariant &defaultValue = QVariant()) const
QStringdocumentationFileName(const QString &namespaceName)
QList<QHelpLink>documentsForIdentifier(const QString &id) const
QList<QHelpLink>documentsForIdentifier(const QString &id, const QString &filterName) const
QList<QHelpLink>documentsForKeyword(const QString &keyword) const
QList<QHelpLink>documentsForKeyword(const QString &keyword, const QString &filterName) const
QStringerror() const
QByteArrayfileData(const QUrl &url) const
QList<QUrl>files(const QString namespaceName, const QString &filterName, const QString &extensionFilter = QString())
QHelpFilterEngine *filterEngine() const
QUrlfindFile(const QUrl &url) const
boolisReadOnly() const
boolregisterDocumentation(const QString &documentationFileName)
QStringListregisteredDocumentations() const
boolremoveCustomValue(const QString &key)
voidsetAutoSaveFilter(bool save)
voidsetCollectionFile(const QString &fileName)
boolsetCustomValue(const QString &key, const QVariant &value)
voidsetReadOnly(bool enable)
voidsetUsesFilterEngine(bool uses)
boolsetupData()
boolunregisterDocumentation(const QString &namespaceName)
boolusesFilterEngine() const

信号

voidsetupFinished()
voidsetupStarted()
voidwarning(const QString &msg)

静态公共成员

QVariantmetaData(const QString &documentationFileName, const QString &name)
QStringnamespaceName(const QString &documentationFileName)

详细描述

在可以使用帮助引擎之前,必须通过调用 setupData() 进行初始化。在设置过程的开始会发出信号 setupStarted()。从这时起直到发出信号 setupFinished(),帮助数据处于不明确的不可用状态。

核心帮助引擎可用于执行不同的任务。通过调用 documentsForIdentifier(),引擎返回指定帮助系统中文件位置的URL。然后可以通过调用 fileData() 获取实际的文件数据。

帮助引擎可以包含任意数量的自定义过滤器。通过 QHelpFilterEngine 类进行过滤器管理,包括添加新过滤器、更改过滤器定义或删除现有过滤器,该类可以通过 filterEngine() 方法访问。

注意:QHelpFilterEngine 替换了自 Qt 5.13 起已弃用的旧过滤器 API。通过传递 true 调用 setUsesFilterEngine() 来启用新功能。

核心帮助引擎有两种模式

  • 只读模式,在该模式下,除非明确请求,否则不会更改帮助集合文件。这也适用于集合文件位于只读位置的情况,且这是默认模式。
  • 完全可写模式,需要帮助集合文件是可写的。

可以通过在调用 setupData() 之前调用 setReadOnly() 方法来更改模式。

帮助引擎还提供了以类似于 ini 文件或 Windows 注册表条目的方式设置和读取值的可能性。有关更多信息,请参阅 setValue() 或 value()。

此类不提供任何 GUI 组件或索引或内容的功能。如果需要这些功能,请使用 QHelpEngine

属性文档

autoSaveFilter : bool

此属性表示 QHelpEngineCore 是否处于自动保存过滤器模式下。

如果 QHelpEngineCore 处于自动保存过滤器模式下,则当前过滤器在由 QHelpFilterEngine::setActiveFilter() 函数更改时会自动保存,并且过滤器会在帮助集合文件中以持久化的方式保存。

默认情况下,此模式是开启的。

访问函数

boolautoSaveFilter() const
voidsetAutoSaveFilter(bool save)

collectionFile : QString

此属性包含当前使用的集合文件的绝对文件名。

设置此属性后会使帮助引擎无效。重要提示:需要调用setupData() 或其他任何获取函数,以便重新设置帮助引擎。

访问函数

QStringcollectionFile() const
voidsetCollectionFile(const QString &fileName)

[自 6.0 版起] readOnly : bool

此属性包含帮助引擎是否为只读。

在只读模式中,用户可以使用安装在只读位置上的帮助引擎和集合文件。在这种情况下,某些功能可能无法访问,如注册其他文档、过滤编辑或需要更改集合文件的任何操作。将此设置为 false 可启用帮助引擎的全部功能。

默认情况下,此属性为 true

此属性是在 Qt 6.0 中引入的。

访问函数

boolisReadOnly() const
voidsetReadOnly(bool enable)

成员函数文档

[显式] QHelpEngineCore::QHelpEngineCore(const QString &collectionFile, QObject *parent = nullptr)

使用 parent 创建一个新的核心帮助引擎。帮助引擎使用存储在 collectionFile 中的信息提供帮助。如果集合文件尚不存在,则将其创建。

[虚函数 noexcept] QHelpEngineCore::~QHelpEngineCore()

销毁帮助引擎。

bool QHelpEngineCore::copyCollectionFile(const QString &fileName)

创建文件 fileName,并将当前集合文件中的所有内容复制到新创建的文件中,并在成功时返回 true;否则返回 false。

复制过程确保 Qt 集合文件(.qch)的文件引用相应更新。

QVariant QHelpEngineCore::customValue(const QString &key, const QVariant &defaultValue = QVariant()) const

返回分配给 key 的值。如果请求的关键字不存在,则返回指定的 defaultValue

另见setCustomValue() 和 removeCustomValue

QString QHelpEngineCore::documentationFileName(const QString &namespaceName)

返回由 namespaceName 指定的 Qt 压缩帮助文件(.qch)的绝对文件名。如果没有注册指定的命名空间,将返回空字符串。

另见namespaceName

QList<QHelpLink> QHelpEngineCore::documentsForIdentifier(const QString &id) const

返回所有找到的以 id 标识的文档链接列表。返回列表的内容取决于当前的过滤器,因此只会返回当前过滤器注册的关键字。

QList<QHelpLink> QHelpEngineCore::documentsForIdentifier(const QString &id, const QString &filterName) const

返回找到的以 id 标识的文档链接列表,通过 filterName 过滤。返回列表的内容取决于传入的过滤器,因此只会返回此过滤器注册的关键字。如果你想要获得未经过滤的所有结果,将 filterName 设为空字符串。

QList<QHelpLink> QHelpEngineCore::documentsForKeyword(const QString &keyword) const

返回所有找到的以 keyword 关键字标识的文档链接列表。返回列表的内容取决于当前的过滤器,因此只会返回当前过滤器注册的关键字。

QList<QHelpLink> QHelpEngineCore::documentsForKeyword(const QString &keyword, const QString &filterName) const

返回以 keyword 关键字标识并经过 filterName 过滤的文档链接列表。返回列表的内容取决于传入的过滤器,因此只会返回此过滤器注册的关键字。如果你想要获得未经过滤的所有结果,将 filterName 设为空字符串。

QString QHelpEngineCore::error() const

返回最后一次发生的错误的描述。

QByteArray QHelpEngineCore::fileData(const QUrl &url) const

返回由 url 指定的文件数据。如果该文件不存在,将返回一个空的 QByteArray

另请参阅findFile

QList<QUrl> QHelpEngineCore::files(const QString namespaceName, const QString &filterName, const QString &extensionFilter = QString())

返回包含在指定 namespaceName 命名空间的 Qt 压缩帮助文件中的文件列表。可以通过 filterName 和文件扩展名 extensionFilter(例如,'html')进行过滤。

QHelpFilterEngine *QHelpEngineCore::filterEngine() const

返回与这个帮助引擎相关的过滤器引擎。过滤器引擎允许为该帮助引擎添加、更改和删除现有的过滤器。要使用该引擎,您还必须调用 setUsesFilterEngine() 并将参数设置为 true

QUrl QHelpEngineCore::findFile(const QUrl &url) const

返回对url进行的修正后的URL,该URL可能指向由url中定义的虚拟文件夹所指定的不同命名空间。如果虚拟文件夹与url的命名空间匹配,则该方法仅检查文件是否存在并返回相同的url。当虚拟文件夹不匹配url的命名空间时,它会根据活动的过滤器尝试找到最佳匹配的命名空间。当找到命名空间时,如果文件存在则返回修正后的URL,否则返回一个无效的URL。

[static] QVariant QHelpEngineCore::metaData(const QString &documentationFileName, const QString &name)

返回Qt压缩帮助文件documentationFileName的元数据。如果不存在关于name的数据,则返回无效的QVariant()。元数据在创建Qt压缩帮助文件时定义,以后无法修改。常见的元数据包括例如文档的作者。

[static] QString QHelpEngineCore::namespaceName(const QString &documentationFileName)

返回为指定的Qt压缩帮助文件(.qch)定义的命名空间名称,其documentationFileName指定。如果文件无效,则返回空字符串。

另请参阅documentationFileName

bool QHelpEngineCore::registerDocumentation(const QString &documentationFileName)

将保存在文件documentationFileName中的Qt压缩帮助文件(.qch)注册。只能为唯一标识的命名空间注册一次压缩帮助文件。如果注册成功,则返回true,否则返回false。

另请参阅unregisterDocumentation() 和 error

QStringList QHelpEngineCore::registeredDocumentations() const

返回当前集合文件中所有已注册的Qt压缩帮助文件的列表。返回的名称是已注册Qt压缩帮助文件(.qch)的命名空间。

bool QHelpEngineCore::removeCustomValue(const QString &key)

从集合文件的设置部分移除key。如果成功移除值,则返回true,否则返回false。

另请参阅customValue() 和 setCustomValue

bool QHelpEngineCore::setCustomValue(const QString &key, const QVariant &value)

key下保存value。如果键已存在,则值将被覆盖。如果值保存成功,则返回true,否则返回false。

另请参阅customValue() 和 removeCustomValue

void QHelpEngineCore::setUsesFilterEngine(bool uses)

根据传递的uses参数启用或禁用帮助引擎中的新过滤引擎功能。

另请参阅usesFilterEngine() 和 filterEngine

bool QHelpEngineCore::setupData()

通过处理集合文件中找到的信息来设置帮助引擎,如果成功,则返回true;否则返回false。

通过调用此函数,强制帮助引擎立即初始化自己。大多数情况下,无需显式调用此函数,因为依赖于正确设置的帮助引擎的getter函数会自行执行。

注意:需要与应用程序一起部署qsqlite4.dll,因为帮助系统在加载帮助集合时使用sqlite驱动程序。

[signal] void QHelpEngineCore::setupFinished()

当设置完成时发出此信号。

[signal] void QHelpEngineCore::setupStarted()

在设置开始时发出此信号。

bool QHelpEngineCore::unregisterDocumentation(const QString &namespaceName)

取消注册由其namespaceName标识的Qt压缩帮助文件(.qch)从帮助集合中。成功时返回true,否则返回false。

另请参阅registerDocumentation() 和 error

bool QHelpEngineCore::usesFilterEngine() const

返回帮助引擎是否使用新的过滤功能。

另请参阅setUsesFilterEngine() 和 filterEngine

[signal] void QHelpEngineCore::warning(const QString &msg)

当发生非关键错误时发出此信号。警告消息存储在msg中。

© 2024 The Qt Company Ltd. 本文件中包含的文档贡献的版权属于其各自的拥有者。本文件提供的文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款进行许可。Qt及其相关标志是The Qt Company Ltd.在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。