前言
上篇文章我们讲了如何创作一个UI界面,并将其使用代码显示出来,这篇文章我们来讲讲事件的绑定
为增加文章趣味性,此篇文章我们将以点击窗口中的按钮来后并显示一个提示框
修改上次代码(优化)
上篇文章我所讲的要记住的代码模板其实是有问题,这是全新代码
import sys
from welcome import *
from PyQt5.QtWidgets import QMessageBoxclass welcome1(Ui_MainWindow):def __init__(self,main_window):self.main_window = main_windowself.setupUi(main_window)self.pushButton.clicked.connect(self.showMessage)def showMessage(self):QMessageBox.information(self.main_window,"CSDN","welcome CSDN",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)if __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = welcome1(MainWindow)MainWindow.show()sys.exit(app.exec_())
修改了的地方
我们将if name == 'main’里面的ui.setupUi(MainWindow)删掉了,而是将其放在了我们的主类welcome1中,变成了self.setupUi(main_window)
为什么要这样改呢,因为等会我们在进行事件绑定的时候需要进行对窗口初始化,但是一个程序里面只能对窗口初始化一次
新增的代码
新怎了一个类welcome1
class welcome1(Ui_MainWindow):# 省略了一些代码
在类中定义了一个**——init——**函数,在此函数中用来写初始化代码和时间绑定
self.main_window=main_window
此代码也是用来初始化窗口的
self.pushButton.clicked.connect(self.showMessage)
此代码是用来使目标按钮绑定上等会要使用函数
self.showMessage代码里showMessage是welcome1类中定义好的函数
def showMessage(self):QMessageBox.information(self.main_window,"CSDN","welcome CSDN",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
此代码是显示窗口的函数,大家可以根据运行结果和以上代码中函数的参数进行比对
最后
以上代码中初始化窗口的代码需要按顺序写否则可能导致报错