如何将定义的函数连接到pyqt5中的按钮?

时间:2019-07-29 04:14:10

标签: python pyqt pyqt5

我正在尝试将按钮连接到已定义的函数,但结果不令人满意。

今天早上,我由Qt Designer创建了一个GUI,并将其转换为python文件。我查找了“连接”功能,并在python文件中定义了将标签文本设置为“ Hello World”的功能。但是,我无法将功能连接至按钮。

我该如何解决问题?

def mask(x):
    X = np.prod([df.description.str.contains(i) for i in x], axis = 0)
    return [True if i == 1 else False for i in X]
mine = df[mask(['sql', 'python'], df)]

我希望看到单击按钮时,标签的文本应该更改。 但是我什至不能运行python文件,这是错误消息。

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):

    def onclicked(self):
        self.label.setText("Hello world.")

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(270, 240, 113, 32))
        self.pushButton.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(280, 120, 59, 16))
        self.label.setObjectName("label")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

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

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

0 个答案:

没有答案