我为QGIS编写了一个Qt插件,里面有一个QPushButton browse_btn来浏览输出文件夹。我使用QFileDialog.getExistingDirectory函数,一切都很好。然而,如果我关闭插件并再次打开它,然后单击按钮添加一个路径,打开的窗口将重新打开后,我选择一个路径或关闭它。如果我关闭插件,再次打开它,“选择路径”窗口将重新打开3次,等等.
类似的问题是在这里还开着和在这里的评论,可能还有在此解决,但是由于没有代码,所以我无法应用它来解决我的问题。
具体代码如下:
self.dlg.browse_btn.clicked.connect(self.set_output)
def set_output(self):
folder_path = str(QFileDialog.getExistingDirectory(self.dlg, u"Pick a folder"))
if not folder_path:
return None我认为这是因为每次我打开-关闭插件时,单独的连接都是用self.dlg.browse_btn.clicked.connect(self.set_output)创建的,并且只有在重新启动QGIS之后才会断开连接。
发布于 2017-08-06 15:23:33
尝试此-向类(或dlg)添加布尔标志isConnected,并将此标志插入为false。
然后将连接线更改为
if (!self.isConnected):
self.dlg.browse_btn.clicked.connect(self.set_output)
self.isConnected = truehttps://stackoverflow.com/questions/45533009
复制相似问题