首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QFileDialog继续重开

QFileDialog继续重开
EN

Stack Overflow用户
提问于 2017-08-06 14:30:10
回答 1查看 158关注 0票数 0

我为QGIS编写了一个Qt插件,里面有一个QPushButton browse_btn来浏览输出文件夹。我使用QFileDialog.getExistingDirectory函数,一切都很好。然而,如果我关闭插件并再次打开它,然后单击按钮添加一个路径,打开的窗口将重新打开后,我选择一个路径或关闭它。如果我关闭插件,再次打开它,“选择路径”窗口将重新打开3次,等等.

类似的问题是在这里还开着在这里的评论,可能还有在此解决,但是由于没有代码,所以我无法应用它来解决我的问题。

具体代码如下:

代码语言:javascript
复制
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之后才会断开连接。

EN

回答 1

Stack Overflow用户

发布于 2017-08-06 15:23:33

尝试此-向类(或dlg)添加布尔标志isConnected,并将此标志插入为false。

然后将连接线更改为

代码语言:javascript
复制
if (!self.isConnected):
    self.dlg.browse_btn.clicked.connect(self.set_output)
    self.isConnected = true
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45533009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档