【Python】【PyQt5】设置事件绑定(例为按钮点击显示提示框)

前言

上篇文章我们讲了如何创作一个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)

此代码是显示窗口的函数,大家可以根据运行结果和以上代码中函数的参数进行比对

最后

以上代码中初始化窗口的代码需要按顺序写否则可能导致报错

您可以使用 PyQt5 中的 QMessageBox 类来实现点击菜单弹出提示框的功能。以下是一个简单的示代码: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QMessageBox class MyWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): # 创建菜单栏 menubar = self.menuBar() # 创建菜单 fileMenu = menubar.addMenu('File') # 创建菜单项 exitAction = QAction('Exit', self) # 绑定功能 exitAction.triggered.connect(self.showDialog) # 将菜单项添加到菜单中 fileMenu.addAction(exitAction) self.setGeometry(300, 300, 350, 250) self.setWindowTitle('Menu Demo') self.show() def showDialog(self): # 弹出提示框 msgBox = QMessageBox() msgBox.setWindowTitle('提示') msgBox.setText('确定要退出吗?') msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) returnValue = msgBox.exec_() if returnValue == QMessageBox.Ok: sys.exit() if __name__ == '__main__': app = QApplication(sys.argv) window = MyWindow() sys.exit(app.exec_()) ``` 在上面的示代码中,我们先创建了一个菜单栏、一个菜单和一个菜单项,并将菜单项绑定到了 `showDialog()` 方法上。在 `showDialog()` 方法中,我们创建了一个 `QMessageBox` 对象,并设置提示框的标题和内容。然后,我们通过 `setStandardButtons()` 方法设置了两个标准按钮(确定和取消),并通过 `exec_()` 方法弹出了提示框。最后,根据用户的点击按钮的返回值来决定是否退出程序。 您可以根据自己的需要修改提示框的标题、内容和按钮等属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值