2017-06-15 47 views
0

我想檢索所選路徑的字符串變量。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 

對話框打開,當我按下按鈕,但是當我嘗試使用一個變量它的值是。任何想法?

回答

1

此代碼

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

並不的信號self.browser但結果的clicked結果分配給變量A。 根據documentation,信號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) 
相關問題