我正在为qgis开发一个插件,我想在添加新属性以进行验证时实现事件监听器
def add_chamber(self):
find = 0
for layer in QgsMapLayerRegistry.instance().mapLayers().values():
if layer.name() == "Points techniques (vs_elem_pt_nd)":
find = 1
chambrelayer = layer
self.iface.legendInterface().setCurrentLayer(chambrelayer)
chambrelayer.attributeAdded().connect(self.ajout_chambre)
if not chambrelayer.isEditable():
chambrelayer.startEditing()
if find==0 :
print("Erreur: la couche n'existe pas")
self.dlg.close()
这是我的函数,抛出错误的行是
chambrelayer.attributeAdded().connect(self.ajout_chambre)
我收到TypeError:无法调用本机Qt信号
我发现出现此错误是因为您忘记了导入,但是请确保我导入了所有内容
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
谢谢