簡體   English   中英

PyQt5方法未連接到按鈕

[英]PyQt5 method not connected to button

這是我運行PyQt的代碼,但是按鈕未調用selectFile方法。 UI代碼是從QtCreator轉換而來的。 我已經檢查了我的按鈕的objectName是browserCSV

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

您實際上並沒有使用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__()以避免重復類名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM