PySide6(PyQT5)的QMessageBox获取被点击按钮的三种方法
在PySide6(PyQT5)中,clickedButton与buttonClicked都可以获取点击的按钮,详细解释和区别见下文:
PySide6(PyQT5)的QMessageBox的clickedButton与buttonClicked的区别-CSDN博客
除了以上两种方法,还可以直接使用exec()返回值的方法来获取到被点击按钮。
from PySide6.QtWidgets import QMessageBox, QApplication, QPushButton
import sys
def main():
app = QApplication(sys.argv)
# 创建一个消息框
msg_box = QMessageBox()
msg_box.setText("这是一个消息框")
msg_box.setWindowTitle("自定义消息框")
msg_box.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
# 获取到被点击按钮
btn = msg_box.exec()
if btn == QMessageBox.Ok:
print("点击了确定按钮")
else:
print("点击了取消按钮")
if __name__ == "__main__":
main()
• msg_box.exec() 的返回值是一个整数,该整数代表用户点击的标准按钮的枚举值。
在 PyQt5 中,QMessageBox 有一系列预定义的标准按钮枚举值,例如:
QMessageBox.Ok:表示用户点击了 "OK" 按钮,其枚举值通常为 1024。
QMessageBox.Cancel:表示用户点击了 "Cancel" 按钮,其枚举值通常为 4194304。
QMessageBox.Yes:表示用户点击了 "Yes" 按钮,其枚举值通常为 16384。
QMessageBox.No:表示用户点击了 "No" 按钮,其枚举值通常为 65536。
当调用 msg_box.exec() 并将其结果存储在一个变量(如 btn)中时,将这个变量的值与上述标准按钮的枚举值进行比较,就可以确定用户点击了哪个按钮。
原文地址:https://blog.csdn.net/xulibo5828/article/details/145249332
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!