如何将自定义图像放在 QMessageBox 上
How to place custom image onto QMessageBox
单击 "Submit" 按钮会出现带有三个响应按钮的 QMessageBox
。 'Critical'、'Information'、'Question'、'Warning' 框各有其图标。有没有办法自定义QMessageBox上的图标?
from PyQt4 import QtGui, QtCore
import sys
app = QtGui.QApplication([])
class Dialog(QtGui.QDialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.resize(300, 100)
self.setLayout(QtGui.QVBoxLayout())
button = QtGui.QPushButton('Submit')
button.clicked.connect(self.onclick)
self.layout().addWidget(button)
def onclick(self):
self.close()
messagebox = QtGui.QMessageBox(QtGui.QMessageBox.Warning, "Title text", "body text", buttons = QtGui.QMessageBox.Discard | QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Ok, parent=self)
messagebox.setDefaultButton(QtGui.QMessageBox.Cancel)
exe = messagebox.exec_()
print 'messagebox.exec_(): %s'%exe
dialog = Dialog()
dialog.show()
app.exec_()
创建 QMessageBox
后,只需调用 messagebox.setIconPixmap(QPixmap(":/images/image_file))
,其中 image_file
是图像资源的路径。
单击 "Submit" 按钮会出现带有三个响应按钮的 QMessageBox
。 'Critical'、'Information'、'Question'、'Warning' 框各有其图标。有没有办法自定义QMessageBox上的图标?
from PyQt4 import QtGui, QtCore
import sys
app = QtGui.QApplication([])
class Dialog(QtGui.QDialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.resize(300, 100)
self.setLayout(QtGui.QVBoxLayout())
button = QtGui.QPushButton('Submit')
button.clicked.connect(self.onclick)
self.layout().addWidget(button)
def onclick(self):
self.close()
messagebox = QtGui.QMessageBox(QtGui.QMessageBox.Warning, "Title text", "body text", buttons = QtGui.QMessageBox.Discard | QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Ok, parent=self)
messagebox.setDefaultButton(QtGui.QMessageBox.Cancel)
exe = messagebox.exec_()
print 'messagebox.exec_(): %s'%exe
dialog = Dialog()
dialog.show()
app.exec_()
创建 QMessageBox
后,只需调用 messagebox.setIconPixmap(QPixmap(":/images/image_file))
,其中 image_file
是图像资源的路径。