我有一个通过按钮获取目录的功能。每当我想使用与其他函数一起检索的目录时,它就会再次显示打开的对话框。有办法解决这个问题。我创建了另一个函数来调用,希望能避免它,但仍然无法正常工作。这就是我在尝试......
appliciationDidFinishLaunching
答案 0 :(得分:1)
您创建了一个显示对话框并返回用户选择的目录的函数。该功能的目的是向用户询问您不知道的内容,这里是文件夹的路径 一旦知道目录,就无需再次询问用户:不应多次调用此函数。
相反,您应存储用户提供给您的值。这是一个简单的例子:
class myWidget(QtGui.QWidget):
def __init__(self,parent=None):
...
self.directory=None
self.button=QtGui.QPushButton("choose a folder")
self.button.clicked.connect(self.select)
def select(self):
self.directory=QtGui.QFileDialog...
def do_stuff_with_directory(self):
print(self.directory)
一开始,self.directory
为无,因为您不知道它应该是什么。当用户单击“选择文件夹”按钮时,self.directory
被设置为他们的选择
由于它是MyWidget
的属性,因此您可以在任何方法中使用它。在使用它之前,您应该检查它是否为None。
我看到你写了self.listDirPath.setText(directory)
因此,在任何函数中获取所选目录的另一种方法是:
directory=self.listDirPath.text()