2017-08-02 26 views
1
class Ui_MainWindow(object): 
    def setupUi(self, MainWindow): 
     MainWindow.setObjectName("MainWindow") 
     MainWindow.resize(1093, 670) 
     self.centralwidget = QtWidgets.QWidget(MainWindow) 
     self.centralwidget.setObjectName("centralwidget") 
     self.pushButton = QtWidgets.QPushButton(self.centralwidget) 
     self.pushButton.setGeometry(QtCore.QRect(120, 320, 93, 28)) 
     self.pushButton.setObjectName("pushButton") 
     MainWindow.setCentralWidget(self.centralwidget) 
     ... 

     self.retranslateUi(MainWindow) 
     self.pushButton.clicked.connect(self.pushButtonClicked) 
     QtCore.QMetaObject.connectSlotsByName(MainWindow) 

    def retranslateUi(self, MainWindow): 
     _translate = QtCore.QCoreApplication.translate 
     MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) 
     self.pushButton.setText(_translate("MainWindow", "PushButton")) 




    def pushButtonClicked(self): 
     print("hi") 
     dialog = QFileDialog 
     dialog.show() 
     ##dialog.getOpenFileName(None,tr("Open Image"), "/home", tr("Image Files (*.png *.jpg *.bmp)")) 


if __name__ == "__main__": 

    app = QtWidgets.QApplication(sys.argv) 
    MainWindow = QtWidgets.QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_()) 

私はこのコードをPYQT5デザイナーから作成し、QFileDialogを開いてファイルを選択します。 しかし、pushButtonClickedに接続するボタンをクリックすると、プログラムは停止してクラッシュします。 あなたはこのようにそれを行うこともできますpyqtでQfiledialogを呼び出すとプログラムが終了します

+0

が含まれていますクラッシュからの完全なスタックトレースを投稿してください。 – BoarGules

+0

'dialog = QFileDialog'という行は何をすると思いますか? – ekhumoro

+0

'dialog = QFileDialog'を' dialog = QFileDialog(self) 'に変更します。 – eyllanesc

答えて

0

私に助けてください:

def pushButtonClicked(self): 
    self.op_dir = QFileDialog.getOpenFileName(None,tr("Open Image"), "/home", tr("Image Files (*.png *.jpg *.bmp)")) 

、変数self.op_dirはあなたの選択したパス

関連する問題