Öğrenme python bir parçası olarak bir eklentiden qgis için postgis katmanları eklemek için bir eklenti geliştirmeye çalışın.
Postgis katmanı ekleme kodu yemek kitabından alınır ve qgis içindeki python konsolundan çalıştırırsam iyi çalışır (iletişim kutusunda sonuç == 1 OK düğmesine basılırsa ve katmanımı qgis'e eklemeliyim).
Ancak eklentimden çalıştırırsam, NameError: name 'QgsDataSourceURI' iletisini atar. Neden eklentiden çalıştırırken bu hatayı alıyorum?
Bir eklenti / bir işlev içindeki bir katman ile python konsolundan bir katman eklemek nasıl bir fark var mı?
def run(self):
"""Run method that performs all the real work"""
# show the dialog
self.dlg.show()
# Run the dialog event loop
result = self.dlg.exec_()
# See if OK was pressed
if result == 1:
# Do something useful here - delete the line containing pass and
# substitute with your code.
uri = QgsDataSourceURI()
uri.setConnection("localhost", "5432", "test", "postgres", "postgres")
#set database schema, table name, geometry column and optionaly subset(WHERE clause)
uri.setDataSource ("basic", "cities", "geom")
# Defining the layer name and layer type for QGIS?
vlayer=QgsVectorLayer (uri .uri() ,"cities","postgres")