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
- limit : int
- offset : int
- plugin : Plugin
- searchArea : geoShape
- searchTerm : string
- status : enum
- suggestions : stringlist
Méthodes
- void cancel()
- string errorString()
- void reset()
- void update()
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ôle | Type | Description |
|---|---|---|
| suggestion | chaîne | Terme 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.Null | Aucune requête de recherche n’a été exécutée. Le modèle est vide. |
| PlaceSearchSuggestionModel.Ready | La requête de recherche est terminée et les résultats sont disponibles. |
| PlaceSearchSuggestionModel.Chargement | Une requête de recherche est en cours d'exécution. |
| PlaceSearchSuggestionModel.Erreur | Une 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) ».
© 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.