Quantum GIS - Tipps und Tricks: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
Zeile 13: Zeile 13:
 
   layermap = QgsMapLayerRegistry.instance().mapLayers()
 
   layermap = QgsMapLayerRegistry.instance().mapLayers()
 
   self.layer = layermap.get(self.layerid)
 
   self.layer = layermap.get(self.layerid)
 +
 +
== Setzen der Init Funktion zu einem Formular ==
 +
 +
Kann direkt aus Python gesetzt werden:
 +
QgsVectorLayer.setEditFormInit(QString function)
 +
Pfadangaben werden durch Punkte getrennt.
 +
Funktion "featureFormInit" im Initfile "grundn_zone.py" im Unterverzeichnis nplch/forms/ wie folgt:
 +
    nplch.forms.grundn_zone.featureFormInit
 +
Dazu muss im gleichen Verzeichnis eine leere __init__.py Datei angelegt werden.

Version vom 18. Juni 2010, 11:43 Uhr

Siehe auch Quantum GIS.

Zugriff direkt auf andere Plugins

Im QGIS werden keine Zugriffe von Plugins auf Plugins unterstützt. Die einzige Möglichkeit ist es, dass man über den Pfad von anderen Plugins Funktionen importiert. Dabei muss man aufpassen, dass die beiden Plugins im gleichen Verzeichnis liegen. Weiter muss auf die Version des Plugins geachtet werden. Diese muss der Benutzer selbst überprüfen.

Formhelper Init Funktion

Über die „layerid“ von dem FormHelper kann man auf den aktuellen Layer zugreifen. Und zwar wie folgt:

  layermap = QgsMapLayerRegistry.instance().mapLayers()
  self.layer = layermap.get(self.layerid)

Setzen der Init Funktion zu einem Formular

Kann direkt aus Python gesetzt werden: QgsVectorLayer.setEditFormInit(QString function) Pfadangaben werden durch Punkte getrennt. Funktion "featureFormInit" im Initfile "grundn_zone.py" im Unterverzeichnis nplch/forms/ wie folgt:

   nplch.forms.grundn_zone.featureFormInit

Dazu muss im gleichen Verzeichnis eine leere __init__.py Datei angelegt werden.