2017-10-11 95 views
0

這是我運行PyQt的代碼,但是selectFile方法不被按鈕調用。 UI代碼從QtCreator轉換而來。我檢查我的ObjectName的按鈕browseCSVPyQt5方法沒有連接到按鈕

import sys 
from readCSV import * 
from PyQt5 import QtCore, QtGui, QtWidgets 
from PyQt5.QtWidgets import QFileDialog 
import form 
from function2 import * 
from function4 import * 
from Function6 import * 

class App(QtWidgets.QMainWindow, form.Ui_MainWindow): 
    def __init__(self): 
     super(self.__class__, self).__init__() 
     self.setupUi(self) # This is defined in design.py file automatically 

     self.browseCSV.clicked.connect(self.selectFile) 

    def selectFile(self): 
     print ("Hello") 

if __name__ == '__main__': 
    app = QtWidgets.QApplication(sys.argv) 
    MainWindow = QtWidgets.QMainWindow() 
    ui = form.Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_()) 

回答

0

你實際上並沒有使用你的App類。所以,你需要這樣做:

if __name__ == '__main__': 
    app = QtWidgets.QApplication(sys.argv) 
    window = App() 
    window.show() 
    sys.exit(app.exec_() 

PS:永遠不要使用self.__class__super通話。在某些情況下,它可能導致無限倒退。如果您使用的是Python 3,則只需使用super().__init__()即可避免重複類名稱。