欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

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

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

软硬件环境

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

实战

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

  1. import sys
  2. from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox, QPushButton
  3. class QMessageBoxDemo(QMainWindow):
  4. def __init__(self, parent=None):
  5. super(QMessageBoxDemo, self).__init__(parent)
  6. self.setWindowTitle("QMessageBox demo")
  7. self.resize(600, 400)
  8. self.button = QPushButton(self)
  9. self.button.setText("点击弹出QMessageBox")
  10. self.button.resize(180, 140)
  11. self.button.move(200, 100)
  12. self.button.clicked.connect(self.showDialog)
  13. def showDialog(self):
  14. msgBox = QMessageBox(QMessageBox.Warning, "标题", "消息正文")
  15. yes = msgBox.addButton("自定义Yes按钮", QMessageBox.YesRole)
  16. no = msgBox.addButton("自定义No按钮", QMessageBox.NoRole)
  17. msgBox.exec_()
  18. if msgBox.clickedButton() == yes:
  19. print('yes')
  20. else:
  21. print('no')
  22. if __name__ == '__main__':
  23. app = QApplication(sys.argv)
  24. demo = QMessageBoxDemo()
  25. demo.show()
  26. sys.exit(app.exec_())

pyqt5 qmessagebox

pyqt5 qmessagebox

源码下载

https://github.com/xugaoxiang/learningPyQt5

PyQt5系列教程

更多 PyQt5 教程,请移步

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

喜欢 (0)

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