Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from qgis.core import
- QgsApplication,QgsVectorLayer,QgsVectorDataProvider,QgsDataSourceUri
- from PyQt5.QtCore import *
- from qgis.PyQt.QtSql import QSqlDatabase, QSqlQuery
- uri2 = QgsDataSourceUri()
- uri2.setConnection("server", "5432", "table", "user", "pw")
- uri2.setDataSource ("public", "table", "geom")
- vlayer2=QgsVectorLayer (uri2.uri() ,"ww_manhole","postgres")
- print (vlayer2.isValid())
- if (vlayer2.startEditing()):
- print ("ok startEditing")
- else:
- print("not ok")
- my_field_name2 = 'new_field'
- if (vlayer2.addAttribute(QgsField(my_field_name2, QVariant.String))):
- print ("ok AddAttribute")
- else:
- print ("not ok2")
- my_field_value2 = 'Hello world!'
- for f in vlayer2.getFeatures():
- print ("ok getFeature")
- f[my_field_name2] = my_field_value2
- if (vlayer2.updateFeature(f)):
- print ("ok updatefeature")
- else:
- print ("not ok updatefeature")
- if (vlayer2.updateFields()):
- print ("ok updateFields")
- else:
- print ("not ok updateFields")
- if (vlayer2.commitChanges()):
- print ("ok commitChanges")
- else:
- print("not ok commitChanges")
- True
- ok startEditing
- ok AddAttribute
- ok getFeature
- ok updatefeature
- not ok updateFields
- not ok commitChanges
- from qgis.PyQt.QtWidgets import QWidget,QLineEdit,QPushButton,QDialogButtonBox
- from PyQt5.QtCore import *
- from PyQt5.QtGui import *
- def my_form_open(dialog, layer, feature):
- geom = feature.geometry()
- control = dialog.findChild(QLineEdit, "z")
- #layer = qgis.utils.iface.activeLayer()
- global myDialog
- myDialog = dialog
- global myFeature
- myFeature= feature
- buttonBox = dialog.findChild(QDialogButtonBox,"buttonBox")
- #buttonBox.accepted.disconnect(myDialog.accept)
- #Wire up our own signals.
- buttonBox.accepted.connect(validate)
- #buttonBox.rejected.connect(myDialog.reject)
- # Wire up our own signals.
- #pushButton.accepted.connect(validate)
- def validate():
- qgis.utils.iface.messageBar().pushMessage("Autosave", u"Validalli : ")
- layer = qgis.utils.iface.activeLayer()
- #qgis.utils.iface.messageBar().pushMessage("Autosave", u"blba : "+z.text())
- z = myDialog.findChild(QLineEdit, "z")
- myFeature['z'] = z.text()
- layer.updateFeature(myFeature)
- layer.commitChanges()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement