前言
上篇文章我们讲了如何创作一个UI界面,并将其使用代码显示出来,这篇文章我们来讲讲事件的绑定
为增加文章趣味性,此篇文章我们将以点击窗口中的按钮来后并显示一个提示框
修改上次代码(优化)
上篇文章我所讲的要记住的代码模板其实是有问题,这是全新代码
import sys
from welcome import *
from PyQt5.QtWidgets import QMessageBox
class welcome1(Ui_MainWindow):
def __init__(self,main_window):
self.main_window = main_window
self.setupUi(main_window)
self.pushButton.clicked.connect(self.showMessage)
def showMessage(self):
QMessageBox.information(self.main_window,"优快云","welcome 优快云",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,"优快云","welcome 优快云",QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
此代码是显示窗口的函数,大家可以根据运行结果和以上代码中函数的参数进行比对
最后
以上代码中初始化窗口的代码需要按顺序写否则可能导致报错