이 페이지에서

QHelpSearchEngine Class

QHelpSearchEngine 클래스는 문서 색인 생성 및 검색은 물론, 전체 텍스트 검색 기능을 통합하는 데 재사용할 수 있는 위젯에 대한 액세스를 제공합니다. 더 보기...

헤더: #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 ` 객체를 인스턴스화하여 검색 엔진의 생성자에 전달해야 합니다. 이는 검색 엔진이 문서의 색인 생성을 시작할 시점을 파악하기 위해 `help engines`의 `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()

입력 위젯으로 사용할 위젯을 반환합니다. 검색 엔진 구성에 따라 하위 위젯의 수가 더 많거나 적은 다른 위젯이 반환됩니다.

[slot] void QHelpSearchEngine::reindexDocumentation()

검색 엔진이 모든 문서 파일을 다시 색인화하도록 강제합니다.

QHelpSearchResultWidget *QHelpSearchEngine::resultWidget()

검색 결과를 저장하고 표시할 수 있는 위젯을 반환합니다.

[slot] void QHelpSearchEngine::search(const QString &searchInput)

지정된 검색 구문 searchInput 을 사용하여 검색 과정을 시작합니다.

검색어는 여러 단어로 구성될 수 있습니다. 기본적으로 검색 엔진은 지정된 모든 단어가 포함된 문서 목록을 반환합니다. 검색어에는 논리 연산자 AND, OR, NOT의 임의의 조합을 포함할 수 있습니다. 연산자는 반드시 모두 대문자로 작성해야 하며, 그렇지 않으면 검색어의 일부로 간주됩니다.

단어를 그룹화하기 위해 큰따옴표를 사용하면, 검색 엔진은 따옴표로 묶인 구문과 정확히 일치하는 결과를 검색합니다.

텍스트 쿼리 구문에 대한 자세한 내용은 SQLite FTS5 확장을 참조하십시오.

참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        helpSearchEngine, qOverload(&QHelpSearchEngine::search));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        helpSearchEngine, [receiver = helpSearchEngine](const QString &searchInput) { receiver->search(searchInput); });
더 많은 예제와 접근 방식은 오버로드된 슬롯에 연결하기를 참조하십시오.

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()

이 신호는 검색 프로세스가 시작될 때 전송됩니다.

© 2026 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.