我有一个用Python 2.7.3编写的QGIS插件,PyQt 4.9.1,Qt 4.8.1。当我运行这个插件时,每个功能都可以正常工作。但当我关闭窗口并再次重新打开它时,每个功能都会发生两次。然后我再次关闭/打开,它会等3次,等等。
我应该在哪里查找错误?我的def run(self)
部分看起来像这样:
def run(self):
self.dlg.show()
self.availableLayers()
self.dlg.pushButton_2.clicked.connect(self.openFile)
self.dlg.pushButton.clicked.connect(self.groupBy)
self.dlg.toolButton_4.clicked.connect(self.toggleRightPanel)
如果我通过点击"插件生成器"中的按钮重新加载插件,它将从一个开始。
我还应该提到我不想丢失用户创建的视图(插件是一个表格查看器),而是能够关闭窗口,打开它并在那里再次使用它而不清除单元格
答案 0 :(得分:0)
每次拨打connect
时,它都会添加另一个连接 - 即使它连接到同一个广告位。因此,您需要将连接移出run()
方法并将它们放入对话框的设置方法中,以便它们只进行一次。