QHelpEngineCore 类
QHelpEngineCore 类提供了帮助系统的核心功能。更多...
头文件 | #include <QHelpEngineCore> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Help) target_link_libraries(mytarget PRIVATE Qt6::Help) |
qmake | QT += help |
继承 | QObject |
继承自 |
属性
- autoSaveFilter : bool
- collectionFile : QString
(since 6.0)
readOnly : bool
公有函数
QHelpEngineCore(const QString &collectionFile, QObject *parent = nullptr) | |
virtual | ~QHelpEngineCore() |
bool | autoSaveFilter() const |
QString | collectionFile() const |
bool | copyCollectionFile(const QString &fileName) |
QVariant | customValue(const QString &key, const QVariant &defaultValue = QVariant()) const |
QString | documentationFileName(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 |
QString | error() const |
QByteArray | fileData(const QUrl &url) const |
QList<QUrl> | files(const QString namespaceName, const QString &filterName, const QString &extensionFilter = QString()) |
QHelpFilterEngine * | filterEngine() const |
QUrl | findFile(const QUrl &url) const |
bool | isReadOnly() const |
bool | registerDocumentation(const QString &documentationFileName) |
QStringList | registeredDocumentations() const |
bool | removeCustomValue(const QString &key) |
void | setAutoSaveFilter(bool save) |
void | setCollectionFile(const QString &fileName) |
bool | setCustomValue(const QString &key, const QVariant &value) |
void | setReadOnly(bool enable) |
void | setUsesFilterEngine(bool uses) |
bool | setupData() |
bool | unregisterDocumentation(const QString &namespaceName) |
bool | usesFilterEngine() const |
信号
void | setupFinished() |
void | setupStarted() |
void | warning(const QString &msg) |
静态公共成员
QVariant | metaData(const QString &documentationFileName, const QString &name) |
QString | namespaceName(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() 函数更改时会自动保存,并且过滤器会在帮助集合文件中以持久化的方式保存。
默认情况下,此模式是开启的。
访问函数
bool | autoSaveFilter() const |
void | setAutoSaveFilter(bool save) |
collectionFile : QString
此属性包含当前使用的集合文件的绝对文件名。
设置此属性后会使帮助引擎无效。重要提示:需要调用setupData() 或其他任何获取函数,以便重新设置帮助引擎。
访问函数
QString | collectionFile() const |
void | setCollectionFile(const QString &fileName) |
[自 6.0 版起]
readOnly : bool
此属性包含帮助引擎是否为只读。
在只读模式中,用户可以使用安装在只读位置上的帮助引擎和集合文件。在这种情况下,某些功能可能无法访问,如注册其他文档、过滤编辑或需要更改集合文件的任何操作。将此设置为 false
可启用帮助引擎的全部功能。
默认情况下,此属性为 true
。
此属性是在 Qt 6.0 中引入的。
访问函数
bool | isReadOnly() const |
void | setReadOnly(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)的绝对文件名。如果没有注册指定的命名空间,将返回空字符串。
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指定。如果文件无效,则返回空字符串。
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.在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。