QHelpSearchEngine Class
QHelpSearchEngine 类提供了可用于集成全文搜索以及索引和搜索文档的小工具。更多
Header: | #include <QHelpSearchEngine> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Help) target_link_libraries(mytarget PRIVATE Qt6::Help) |
qmake: | QT += help |
继承: | QObject |
公共函数
QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent = nullptr) | |
virtual | ~QHelpSearchEngine() |
QHelpSearchQueryWidget * | queryWidget() |
QHelpSearchResultWidget * | resultWidget() |
QString | searchInput() const |
int | searchResultCount() const |
QList<QHelpSearchResult> | searchResults(int start, int end) const |
公共插槽
void | cancelIndexing() |
void | cancelSearching() |
void | reindexDocumentation() |
void | search(const QString &searchInput) |
信号
void | indexingFinished() |
void | indexingStarted() |
void | searchingFinished(int searchResultCount) |
void | searchingStarted() |
详细说明
在使用搜索引擎之前,至少需要实例化一个QHelpEngineCore 对象,并将其传递给搜索引擎构造函数。这是必需的,因为搜索引擎需要连接到帮助引擎 setupFinished() 信号,以便知道何时可以开始索引文档。
索引过程开始后,会发出indexingStarted() 信号;索引过程结束后,会发出indexingFinished() 信号。要停止索引,可以调用cancelIndexing() 。
索引过程结束后,搜索引擎可以使用 search() 函数在索引中搜索给定的术语。当搜索引擎收到搜索输入时,就会发出searchingStarted() 信号。搜索结束后,会发出searchingFinished() 信号。搜索过程可以通过调用cancelSearching() 停止。
如果搜索成功,则会调用searchingFinished() 并输入搜索结果计数,以便从搜索引擎获取搜索结果。使用范围调用searchResults() 函数将返回范围内QHelpSearchResult 对象的列表。搜索结果包括文档标题和 URL,以及与搜索输入最匹配的文档片段。
要显示给定的搜索结果,请使用QHelpSearchResultWidget ,如果需要更高级的功能,也可自行创建。请注意,QHelpSearchResultWidget 不能直接实例化,您必须从正在使用的搜索引擎中检索该部件,因为该部件本身会为您建立所有连接。
成员函数文档
[explicit]
QHelpSearchEngine::QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent = nullptr)
使用给定的parent 构建一个新的搜索引擎。搜索引擎使用给定的helpEngine 访问需要索引的文档。QHelpEngine 的 setupFinished() 信号会自动连接到 QHelpSearchEngine 的索引函数,因此新文档将在信号发出后被索引。
[virtual noexcept]
QHelpSearchEngine::~QHelpSearchEngine()
销毁搜索引擎。
[slot]
void QHelpSearchEngine::cancelIndexing()
停止索引进程。
[slot]
void QHelpSearchEngine::cancelSearching()
停止搜索过程。
[signal]
void QHelpSearchEngine::indexingFinished()
索引过程完成时发出该信号。
[signal]
void QHelpSearchEngine::indexingStarted()
该信号在索引进程启动时发出。
QHelpSearchQueryWidget *QHelpSearchEngine::queryWidget()
返回用作输入部件的 widget。根据您的搜索引擎配置,您将获得一个不同的部件,其中包含或多或少的子部件。
[slot]
void QHelpSearchEngine::reindexDocumentation()
强制搜索引擎重新索引所有文档文件。
QHelpSearchResultWidget *QHelpSearchEngine::resultWidget()
返回一个可以保存和显示搜索结果的 widget。
[slot]
void QHelpSearchEngine::search(const QString &searchInput)
使用给定的搜索短语searchInput 开始搜索过程。
短语可由多个单词组成。默认情况下,搜索引擎会返回包含所有指定单词的文档列表。短语可包含 AND、OR 和 NOT 逻辑运算符的任意组合。运算符必须用大写字母书写,否则将被视为搜索短语的一部分。
如果使用双引号来组词,搜索引擎将搜索与引号短语完全匹配的内容。
有关文本查询语法的更多信息,请参阅SQLite FTS5 Extension。
QString QHelpSearchEngine::searchInput() const
返回上次搜索的短语。
int QHelpSearchEngine::searchResultCount() const
返回搜索引擎找到的结果数量。
QList<QHelpSearchResult> QHelpSearchEngine::searchResults(int start, int end) const
返回从start 指定的索引到end 指定的索引范围内的搜索结果列表。
[signal]
void QHelpSearchEngine::searchingFinished(int searchResultCount)
搜索过程结束时会发出该信号。搜索结果计数存储在searchResultCount 中。
[signal]
void QHelpSearchEngine::searchingStarted()
搜索进程启动时发出该信号。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.