2017-06-15 16 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の結果を割り当てるが、可変Aclicked信号の結果ありません。 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) 
関連する問題