Comment ajouter un bouton personnalisé à une QMessageBox en PyQt4
JE CODE une application qui a besoin d'un bouton personnalisé dans QMessageBox. j'ai réussi à créer un exemple dans QT designer, qui est donné ci-dessous.
je voulais faire ça dans une boîte QMessageBox.
j'utilise python 2.6.4 et PyQt4. s'il vous plaît, quelqu'un peut-il aider.
8
demandé sur
Sudeepth Patinjarayil
2013-03-28 17:07:29
2 réponses
Voici un exemple de création d'une boîte de message personnalisée à partir de la base.
import sys
from PyQt4 import QtCore, QtGui
class Example(QtGui.QDialog):
def __init__(self, parent=None):
super(Example, self).__init__(parent)
msgBox = QtGui.QMessageBox()
msgBox.setText('What to do?')
msgBox.addButton(QtGui.QPushButton('Accept'), QtGui.QMessageBox.YesRole)
msgBox.addButton(QtGui.QPushButton('Reject'), QtGui.QMessageBox.NoRole)
msgBox.addButton(QtGui.QPushButton('Cancel'), QtGui.QMessageBox.RejectRole)
ret = msgBox.exec_()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
21
répondu
MGP
2016-06-08 05:48:52
manuel gutierrez, pourquoi héritez-vous de QDilaog? Vous pouvez hériter de QMessageBox. C'est beaucoup plus simple et moins de code
import sys
from PyQt4.QtGui import QMessageBox, QPushButton, QApplication
from PyQt4.QtCore import Qt
class ErrorWindow(QMessageBox):
def __init__(self, parent=None):
QMessageBox.__init__(self, parent)
self.setWindowTitle("Example")
self.addButton(QPushButton("Yes"), QMessageBox.YesRole )
self.addButton(QPushButton("No"), QMessageBox.NoRole)
self.addButton(QPushButton("Cancel"), QMessageBox.RejectRole)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = ErrorWindow()
ex.setText("some error")
ex.show()
sys.exit(app.exec_())
0
répondu
Дмитрий Моцик
2018-08-17 15:12:33