欢迎访问本站,希望站内信息可以帮助到您!感兴趣的,可以加入我的知识星球,一对一解答!

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

PyQt5开发 迷途小书童 803℃ 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_())

源码下载

https://github.com/xugaoxiang/learningPyQt5

PyQt5系列教程

更多PyQt5教程,请移步

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

喜欢 (0)

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

退出移动版