PySide6(PyQT5)的QMessageBox获取被点击按钮的三种方法

在PySide6(PyQT5)中,clickedButton与buttonClicked都可以获取点击的按钮,详细解释和区别见下文:

PySide6(PyQT5)的QMessageBox的clickedButton与buttonClicked的区别-CSDN博客

除了以上两种方法,还可以直接使用exec()返回值的方法来获取到被点击按钮。

python 复制代码
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)中时,将这个变量的值与上述标准按钮的枚举值进行比较,就可以确定用户点击了哪个按钮。

相关推荐
dialect_6 小时前
KMP算法
开发语言·c++·算法
总要学点什么7 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
前端精髓7 小时前
结构化输出with_structured_output(抽卡)
python·langchain
听风吹等浪起8 小时前
第26章:ViT+InceptionDW+FocalLoss改进|CT骨折影像二分类完整Pytorch实现(含PyQt5推理GUI)
pytorch·qt·分类
尹人入圣8 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
ShineWinsu8 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
开开心心_Every8 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c9 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
Nuanyt9 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌9 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化