QMessageBox 样式美化
时间: 2023-06-16 13:05:43 浏览: 238
可以通过修改样式表来美化 QMessageBox 的外观。下面是一个简单的例子:
```python
from PyQt5.QtWidgets import QApplication, QMessageBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt
app = QApplication([])
app.setStyle('Fusion')
# 设置QMessageBox的样式
app.setStyleSheet("""
QMessageBox {
background-color: #F0F0F0;
border: 2px solid darkgray;
border-radius: 10px;
}
QMessageBox QLabel {
color: darkgray;
}
QMessageBox QPushButton {
background-color: #F0F0F0;
border: 2px solid darkgray;
border-radius: 10px;
padding: 5px;
min-width: 80px;
}
QMessageBox QPushButton:hover {
background-color: gray;
color: white;
}
""")
# 创建QMessageBox
msg_box = QMessageBox()
msg_box.setWindowTitle('提示')
msg_box.setWindowIcon(QIcon('icon.png'))
msg_box.setText('这是一条提示信息')
msg_box.setIcon(QMessageBox.Information)
msg_box.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
msg_box.setDefaultButton(QMessageBox.Ok)
# 设置按钮的对齐方式
msg_box.button(QMessageBox.Ok).setTextAlignment(Qt.AlignCenter)
msg_box.button(QMessageBox.Cancel).setTextAlignment(Qt.AlignCenter)
# 显示QMessageBox
ret = msg_box.exec_()
if ret == QMessageBox.Ok:
print('你点击了确定按钮')
else:
print('你点击了取消按钮')
```
在上面的例子中,我们使用了 Qt 的样式表来美化 QMessageBox 的外观。我们设置了背景颜色、边框、边框圆角和按钮的样式。此外,我们还设置了按钮的对齐方式,使其在消息框中居中显示。
运行上面的代码,你会看到一个漂亮的消息框。你可以根据自己的需要进一步修改样式表,以达到你想要的效果。
阅读全文