【问题标题】:PyQt5 method not connected to buttonPyQt5方法未连接到按钮
【发布时间】:2017-10-11 21:01:46
【问题描述】:

这是我运行 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_())

【问题讨论】:

    标签: python pyqt pyqt5


    【解决方案1】:

    你实际上并没有使用你的App 类。所以你需要这样做:

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

    PS:永远不要在super 通话中使用self.__class__。在某些情况下,它可能会导致无限倒退。如果您使用的是 Python 3,则只需使用 super().__init__() 即可避免重复类名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-05
      • 2019-02-19
      • 1970-01-01
      • 2019-04-30
      • 2021-10-01
      • 1970-01-01
      • 2023-03-23
      • 2023-03-03
      相关资源
      最近更新 更多