Sur cette page

PlaceSearchSuggestionModel QML Type

Permet d'accéder à des suggestions de termes de recherche. En savoir plus…

Import Statement: import QtLocation 6.12
Since: QtLocation 5.5

Propriétés

Méthodes

Description détaillée

Le modèle PlaceSearchSuggestionModel permet de proposer des suggestions de termes de recherche à mesure que l'utilisateur saisit son terme de recherche. Les propriétés de ce modèle doivent correspondre à celles de l'PlaceSearchModel, qui sera utilisé pour effectuer la requête de recherche proprement dite, afin de garantir la pertinence des résultats des suggestions de recherche.

Il existe deux façons d’accéder aux données fournies par ce modèle : soit via la propriété « suggestions », soit via des vues et des délégués. Cette dernière méthode est recommandée.

Les propriétés ` offset ` et ` limit ` peuvent être utilisées pour accéder aux suggestions paginées. Lorsque les propriétés ` offset ` et ` limit ` sont définies, les suggestions comprises entre ` offset ` et `(offset + limit - 1)` seront renvoyées. La prise en charge de la pagination peut varier d’un plugin à l’autre.

Le modèle renvoie des données pour les rôles suivants :

RôleTypeDescription
suggestionchaîneTerme de recherche suggéré.

L’exemple suivant montre comment utiliser le modèle PlaceSearchSuggestionModel pour obtenir des suggestions de recherche à partir d’un terme de recherche partiel. Le paramètre « searchArea » est défini pour correspondre à ce qui serait utilisé pour effectuer la recherche de lieu proprement dite avec PlaceSearchModel.

import QtQuick
import QtPositioning
import QtLocation

PlaceSearchSuggestionModel {
    id: suggestionModel

    plugin: myPlugin

    // Brisbane
    searchArea: QtPositioning.circle(QtPositioning.coordinate(-27.46778, 153.02778))

    onSearchTermChanged: update()
}

ListView {
    model: suggestionModel
    delegate: Text { text: suggestion }
}

Voir également PlaceSearchModel et QPlaceManager.

Documentation sur les propriétés

limit : int

Cette propriété définit la limite du nombre d'éléments qui seront renvoyés.

Voir également offset.

offset : int

Cette propriété contient l'index du premier élément du modèle.

Voir également limit.

plugin : Plugin

Cette propriété contient l'Plugin du fournisseur qui sera utilisée pour effectuer la recherche.

searchArea : geoShape

Cette propriété définit la zone de recherche. Les suggestions de recherche renvoyées par le modèle seront pertinentes par rapport à la zone de recherche indiquée.

Si cette propriété est définie sur une valeur de type « geoCircle », sa propriété « radius » peut être laissée vide ; dans ce cas, le « Plugin » choisira un rayon approprié pour la recherche.

searchTerm : string

Cette propriété contient le terme de recherche partiel utilisé dans la requête.

status : enum [read-only]

Cette propriété indique l'état du modèle. Elle peut prendre l'une des valeurs suivantes :

PlaceSearchSuggestionModel.NullAucune requête de recherche n’a été exécutée. Le modèle est vide.
PlaceSearchSuggestionModel.ReadyLa requête de recherche est terminée et les résultats sont disponibles.
PlaceSearchSuggestionModel.ChargementUne requête de recherche est en cours d'exécution.
PlaceSearchSuggestionModel.ErreurUne erreur s'est produite lors de l'exécution de la requête de recherche précédente.

suggestions : stringlist [read-only]

Cette propriété contient la liste des termes de recherche prédits dont dispose actuellement le modèle.

Documentation des méthodes

void cancel()

Annule immédiatement une opération de suggestion de recherche en cours et définit l'état du modèle sur « PlaceSearchSuggestionModel.Ready ». Le modèle conserve toutes les suggestions de recherche dont il disposait avant le lancement de l'opération.

Si aucune opération n'est en cours, l'appel de `cancel()` n'a aucun effet.

Voir également update() et status.

string errorString()

Cette propriété en lecture seule contient la description textuelle de la dernière erreur du modèle de suggestions de recherche. Si aucune erreur ne s'est produite ou si le modèle a été effacé, une chaîne vide est renvoyée.

Une chaîne vide peut également être renvoyée si une erreur s'est produite qui ne dispose d'aucune représentation textuelle associée.

void reset()

Réinitialise le modèle. Toutes les suggestions de recherche sont effacées, les requêtes en cours sont annulées et les éventuelles erreurs sont corrigées. L'état du modèle sera défini sur « PlaceSearchSuggestionModel.Null ».

void update()

Met à jour le modèle en fonction des paramètres de requête fournis. Le modèle sera renseigné avec une liste de suggestions de recherche pour les paramètres partiels searchTerm et searchArea. Si l’ plugin le prend en charge, d’autres paramètres tels que limit et offset peuvent être spécifiés. update() envoie l’ensemble des paramètres à l’ plugin pour traitement.

Pendant la mise à jour du modèle, la variable ` status ` est définie sur ` PlaceSearchSuggestionModel.Loading`. Si la mise à jour du modèle aboutit, la variable ` status ` est définie sur ` PlaceSearchSuggestionModel.Ready`, tandis que si elle échoue, la variable ` status ` est définie sur ` PlaceSearchSuggestionModel.Error ` et le modèle est réinitialisé.

Cet exemple illustre l'utilisation du modèle

PlaceSeachSuggestionModel {
    id: model
    plugin: backendPlugin
    searchArea: QtPositioning.circle(QtPositioning.coordinate(10, 10))
    ...
}

MouseArea {
    ...
    onClicked: {
        model.searchTerm = "piz"
        model.searchArea.center.latitude = -27.5;
        model.searchArea.cetner.longitude = 153;
        model.update();
    }
}

Vous trouverez un exemple plus détaillé dans l’exemple « Places (QML) ».

Voir également cancel() et status.

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