def set_ui(self):
# 实例化
mb = QMessageBox(self)
# 设置模态
mb.setModal(True)
# 设置窗口标题 及样式
mb.setWindowTitle("信息提示")
mb.setWindowFlag(Qt.WindowType.Window)
# 设置提示图标
mb.setIcon(QMessageBox.Icon.Information)
# 设置自定义提示图片
# mb.setIconPixmap(QPixmap("./imgs/dog.jpg").scaled(50, 50))
# 设置标题
mb.setText("主标题66") # 支持富文本
mb.setTextFormat(Qt.TextFormat.RichText)
mb.setInformativeText("子标题")
# 设置勾选框
cb = QCheckBox("下次不在显示", mb)
mb.setCheckBox(cb)
# 详情文本
mb.setDetailedText("详细信息")
# 添加标准按钮
# mb.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)
# yes_button = mb.button(QMessageBox.StandardButton.Yes) # 返回按钮对象
# 自定义按钮
confirm_btn = mb.addButton("确定", QMessageBox.ButtonRole.YesRole)
cancle_btn = mb.addButton(QPushButton("取消", mb), QMessageBox.ButtonRole.NoRole)
o_btn = mb.addButton("o", QMessageBox.ButtonRole.ApplyRole)
# 移除按钮
mb.removeButton(o_btn)
# 设置默认按钮
mb.setDefaultButton(confirm_btn)
# 设置 ESC键 对应的按钮
mb.setEscapeButton(cancle_btn)
# 信号
mb.buttonClicked.connect(lambda btn: print("点击了确定") if btn == confirm_btn else print("点击了取消"))
# 设置主标题的交互
mb.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse)
mb.show()
静态方法:
# 使用静态方法,提示信息
result = QMessageBox.information(self, "大标题", "小标题", QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)
if result == QMessageBox.StandardButton.Yes:
print("选择的结果:", result)
https://blog.csdn.net/weixin_44593822/article/details/113567142