Je veux créer une fonction qui sélectionne une fonction et effectue un zoom sur celle-ci (similaire dans QGIS). Il y a donc la fonction suivante:
QgsMapLayerRegistry.instance().addMapLayer(self.vlayer)
def zoomTo(self):
layer = self.vlayer
atable = self.ui.table
selectList=[]
for i in atable.selectionModel().selectedRows():
ID = atable.item(i.row(),0).text()
selectList.append(int(ID))
layer.setSelectedFeatures(selectList)
Les entités sélectionnées sont mises en évidence sur la carte. Mais je n'ai aucune idée de la façon de faire un "zoom" sur les entités sélectionnées ou de les concentrer au milieu de la carte.
gis.utils.iface
. Maintenant, cela fonctionne parfaitement. Merci encore!Le zoom sur les fonctions sélectionnées peut également être effectué en déclenchant l'option "Zoom sur la sélection" du menu Affichage.
Remarque: Le numéro d'index peut varier selon les différentes versions de QGIS.
Ou plus directement:
la source
iface.actionZoomToSelected().trigger()
c'est un peu plus sûr :)# Le premier QMessageBox affiche toutes les fonctionnalités sélectionnées:
# Deuxième zoom sur les fonctionnalités sélectionnées:
la source