QHelpSearchEngine Class

Die Klasse QHelpSearchEngine bietet Zugriff auf wiederverwendbare Widgets zur Integration einer Volltextsuche sowie zur Indizierung und Durchsuchung von Dokumentation. Mehr...

Kopfzeile: #include <QHelpSearchEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS Help)
target_link_libraries(mytarget PRIVATE Qt6::Help)
qmake: QT += help
Vererbungen: QObject

Öffentliche Funktionen

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

Öffentliche Slots

void cancelIndexing()
void cancelSearching()
void reindexDocumentation()
void search(const QString &searchInput)

Signale

void indexingFinished()
void indexingStarted()
void searchingFinished(int searchResultCount)
void searchingStarted()

Detaillierte Beschreibung

Bevor die Suchmaschine verwendet werden kann, muss mindestens ein QHelpEngineCore Objekt instanziiert werden, das an den Konstruktor der Suchmaschine übergeben werden muss. Dies ist erforderlich, da die Suchmaschine mit dem Signal setupFinished() der Hilfemaschine verbunden sein muss, um zu wissen, wann sie mit der Indizierung der Dokumentation beginnen kann.

Nach dem Start des Indizierungsprozesses wird das Signal indexingStarted() ausgegeben und am Ende des Indizierungsprozesses wird indexingFinished() ausgegeben. Um die Indizierung zu stoppen, kann man cancelIndexing() aufrufen.

Wenn der Indizierungsprozess abgeschlossen ist, kann die Suchmaschine verwendet werden, um den Index mit Hilfe der Funktion search() nach einem bestimmten Begriff zu durchsuchen. Wenn die Sucheingabe an die Suchmaschine übergeben wird, wird das Signal searchingStarted() ausgegeben. Wenn die Suche beendet ist, wird das Signal searchingFinished() ausgegeben. Der Suchvorgang kann durch den Aufruf von cancelSearching() gestoppt werden.

Wenn die Suche erfolgreich war, wird searchingFinished() mit der Anzahl der Suchergebnisse aufgerufen, um die Suchergebnisse von der Suchmaschine zu holen. Der Aufruf der Funktion searchResults() mit einem Bereich gibt eine Liste der QHelpSearchResult Objekte innerhalb des Bereichs zurück. Die Ergebnisse bestehen aus dem Titel und der URL des Dokuments sowie einem Ausschnitt aus dem Dokument, das die beste Übereinstimmung mit der Sucheingabe enthält.

Um die gegebenen Suchergebnisse anzuzeigen, verwenden Sie QHelpSearchResultWidget oder erstellen Sie eine eigene Suchmaske, wenn Sie eine erweiterte Funktionalität benötigen. Beachten Sie, dass QHelpSearchResultWidget nicht direkt instanziiert werden kann. Sie müssen das Widget von der verwendeten Suchmaschine abrufen, da alle Verbindungen für Sie vom Widget selbst hergestellt werden.

Dokumentation der Mitgliedsfunktionen

[explicit] QHelpSearchEngine::QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent = nullptr)

Konstruiert eine neue Suchmaschine mit der angegebenen parent. Die Suchmaschine verwendet die angegebene helpEngine, um auf die Dokumentation zuzugreifen, die indiziert werden muss. Das Signal setupFinished() von QHelpEngine wird automatisch mit der Indizierungsfunktion der QHelpSearchEngine verbunden, so dass neue Dokumentation indiziert wird, nachdem das Signal ausgegeben wurde.

[virtual noexcept] QHelpSearchEngine::~QHelpSearchEngine()

Zerstört die Suchmaschine.

[slot] void QHelpSearchEngine::cancelIndexing()

Stoppt den Indizierungsprozess.

[slot] void QHelpSearchEngine::cancelSearching()

Stoppt den Suchvorgang.

[signal] void QHelpSearchEngine::indexingFinished()

Dieses Signal wird ausgegeben, wenn der Indizierungsvorgang abgeschlossen ist.

[signal] void QHelpSearchEngine::indexingStarted()

Dieses Signal wird ausgegeben, wenn der Indizierungsprozess gestartet wird.

QHelpSearchQueryWidget *QHelpSearchEngine::queryWidget()

Gibt ein Widget zurück, das als Eingabewidget verwendet wird. Je nach Konfiguration Ihrer Suchmaschine erhalten Sie ein anderes Widget mit mehr oder weniger Unterwidgets.

[slot] void QHelpSearchEngine::reindexDocumentation()

Zwingt die Suchmaschine, alle Dokumentationsdateien neu zu indizieren.

QHelpSearchResultWidget *QHelpSearchEngine::resultWidget()

Gibt ein Widget zurück, das die Suchergebnisse aufnehmen und anzeigen kann.

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

Startet den Suchvorgang mit der angegebenen Suchphrase searchInput.

Die Phrase kann aus mehreren Wörtern bestehen. Standardmäßig gibt die Suchmaschine die Liste der Dokumente zurück, die alle angegebenen Wörter enthalten. Die Phrase kann eine beliebige Kombination der logischen Operatoren AND, OR und NOT enthalten. Der Operator muss in Großbuchstaben geschrieben werden, andernfalls wird er als Teil der Suchphrase betrachtet.

Werden doppelte Anführungszeichen verwendet, um die Wörter zu gruppieren, sucht die Suchmaschine nach einer exakten Übereinstimmung der zitierten Phrase.

Weitere Informationen über die Syntax der Textabfrage finden Sie unter SQLite FTS5 Extension.

QString QHelpSearchEngine::searchInput() const

Gibt die zuletzt gesuchte Phrase zurück.

int QHelpSearchEngine::searchResultCount() const

Gibt die Anzahl der Ergebnisse zurück, die die Suchmaschine gefunden hat.

QList<QHelpSearchResult> QHelpSearchEngine::searchResults(int start, int end) const

Gibt eine Liste von Suchergebnissen innerhalb des Bereichs von dem durch start angegebenen Index bis zu dem durch end angegebenen Index zurück.

[signal] void QHelpSearchEngine::searchingFinished(int searchResultCount)

Dieses Signal wird ausgegeben, wenn der Suchvorgang abgeschlossen ist. Die Anzahl der Suchergebnisse wird in searchResultCount gespeichert.

[signal] void QHelpSearchEngine::searchingStarted()

Dieses Signal wird ausgegeben, wenn der Suchvorgang gestartet wird.

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