PyQt:如何从对话框函数返回变量?

时间:2017-06-15 13:23:48

标签: python pyqt

我试图检索所选路径的字符串变量。

class ExampleApp(QtGui.QMainWindow, design.Ui_MainWindow):

def __init__(self):

    super(self.__class__, self).__init__()
    self.setupUi(self)  

    A = self.in_browse_button.clicked.connect(self.browser)

def browser(self):
    global directory
    directory = str(QFileDialog.getExistingDirectory())
    self.input_edit.setText(directory)
    return directory

当我按下按钮时对话框打开但是当我尝试使用A变量时,它的值是。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

此代码

A = self.in_browse_button.clicked.connect(self.browser)

不会将self.browser的结果,而是clicked信号的结果分配给变量A。 根据{{​​3}},信号clicked不会返回任何内容。因此,由于您在课堂上,我建议为该课程定义一个属性,并在其中存储QFileDialog的结果。

class ExampleApp(QtGui.QMainWindow, design.Ui_MainWindow):
    def __init__(self):
        super(self.__class__, self).__init__()
        self.setupUi(self)
        self.directory = None
        self.in_browse_button.clicked.connect(self.browser)

    def browser(self):
        self.directory = str(QFileDialog.getExistingDirectory())
        self.input_edit.setText(directory)