Бештар

Атрибути функсияи синфро дар плагини QGIS нигоҳ доред

Атрибути функсияи синфро дар плагини QGIS нигоҳ доред


Ман барои python ва pyqgis хеле нав ҳастам, пас савол хеле ночиз хоҳад буд…

Ман плагин менависам ва дар як скрипт ман синф ва баъзе вазифаҳои дохилӣ дорам ...

… Синфи CreateModelDialog (QDialog, FORM_CLASS): def __init __ (self, iface): QDialog .__ init __ (self)… def openSr (self): projSelector = QgsGenericProjectionSelector () projSelector.exec_ () self.srText.setText (projesel) ))

Пас ман бояд сатри охиринро истифода барам (яъне косаи EPSG интихоб ва нишон дода шудаастsrTextQLineEdit аз муколамаи QT дар вазифаи дигари ҳамон скрипт:

def createModel (self): modelName = self.bxDBname.text () modelType = self.cmbBxModelType.currentText () crs = self.srText.setText (projSelector.selectedAuthId ()) createModel (modelName, modelType, crs)

Аммо ман хато мекунам:

NameError: номи глобалии 'projSelector' муайян карда нашудааст

Ман боварӣ дорам, ки ин аз он сабаб астprojSelectorтағирёбанда аст, ки танҳо дар маҳаллӣ вуҷуд дорадкушод Srфунксия.

Пас саволе ба миён меояд: чӣ гуна бояд функсияро тағир диҳам, то тағирёбанда даъватшаванда бошад?


Шумо метавонед варақаҳои мисолро бо эҷод кунед худ калимаи калидӣ:

def openSr (худ): self.projSelector = QgsGenericProjectionSelector () self.projSelector.exec_ () self.srText.setText (self.projSelector.selectedAuthId ())

Ҳоло тағирёбандаи self.projSelector-и шумо барои истифода дар дигар усулҳо омода аст.

dialog = CreateModelDialog (iface)… dialog.projSelector

Оё тағирёбандаи худро бо ин объект бармегардонад.


Видеоро тамошо кунед: QGIS Python Getting ready to use the QGIS Python API Version