欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

PyQt5系列教程(二十四)QMessageBox中的按钮自定义

PyQt5开发 迷途小书童 2年前 (2022-04-10) 1697次浏览 0个评论

软硬件环境

  • Windows 10 64bit
  • Anaconda3 with python 3.7
  • PyQt5

实战

QMessageBox 是一个通用的弹出对话框,包括了提示、警告、错误、信息、关于等等,只是显示的图标不一样,基本功能是非常类似的,本文来看看如何在 QMessageBox 中自定义按钮。

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox, QPushButton

class QMessageBoxDemo(QMainWindow):

    def __init__(self, parent=None):
        super(QMessageBoxDemo, self).__init__(parent)
        self.setWindowTitle("QMessageBox demo")
        self.resize(600, 400)

        self.button = QPushButton(self)
        self.button.setText("点击弹出QMessageBox")
        self.button.resize(180, 140)
        self.button.move(200, 100)
        self.button.clicked.connect(self.showDialog)

    def showDialog(self):
        msgBox = QMessageBox(QMessageBox.Warning, "标题", "消息正文")
        yes = msgBox.addButton("自定义Yes按钮", QMessageBox.YesRole)
        no = msgBox.addButton("自定义No按钮", QMessageBox.NoRole)
        msgBox.exec_()
        if msgBox.clickedButton() == yes:
            print('yes')
        else:
            print('no')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = QMessageBoxDemo()
    demo.show()
    sys.exit(app.exec_())

pyqt5 qmessagebox

pyqt5 qmessagebox

源码下载

https://github.com/xugaoxiang/learningPyQt5

PyQt5系列教程

更多 PyQt5 教程,请移步

https://xugaoxiang.com/category/python/pyqt5/

喜欢 (0)

您必须 登录 才能发表评论!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.