PyQt5方法未连接到按钮

时间:2017-10-11 12:23:55

标签: python pyqt pyqt5

这是我运行PyQt的代码,但按钮不调用selectFile方法。 UI代码从QtCreator转换而来。我已经检查了我的objectName,按钮是browseCSV

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_())

1 个答案:

答案 0 :(得分:0)

您实际上并未使用App课程。所以你需要这样做:

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

PS:请勿在{{1​​}}来电中使用self.__class__。在某些情况下,它可能会导致无限回归。如果您使用的是Python 3,则可以使用super来避免重复使用类名。