Seite 1 von 1
Wie komme ich an Standardbuttons einer QMessageBox heran, um diese zu manipulieren?
Verfasst: Sonntag 13. März 2022, 11:34
von AFX
Ich habe eine QMessageBox, und dort setze ich die Standarfknöpfe wie folgt:
Code: Alles auswählen
QMessageBox.__init__(self, *args, **kwargs)
self.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
Die Frage ist nun: Wenn ich mit self.standardButtons() ein Standardbuttonsobjekt habe, wie kann ich da die einzelnen Buttons, die ich zuvor gesetzt hatte, herausholen?
Mein endgültiges Ziel ist es nämlich, deren Text zu verändern (also dass da nicht OK oder Cancel steht, sondern etwas anderes).
Re: Wie komme ich an Standardbuttons einer QMessageBox heran, um diese zu manipulieren?
Verfasst: Sonntag 13. März 2022, 11:39
von __deets__
Wenn das in der API der Box so nicht angeboten wird, dann geht das nicht. Sich selbst einen Dialog zu bauen ist aber doch auch trivial.
Re: Wie komme ich an Standardbuttons einer QMessageBox heran, um diese zu manipulieren?
Verfasst: Montag 14. März 2022, 09:38
von __blackjack__
@AFX: Wenn da was anderes drauf steht, dann sind's keine Standard-Buttons mehr. Der Witz dahinter ist ja gerade, dass dort die Sachen drauf stehen, die dort standardmässig in jeder Anwendung auf dem System auf den Buttons mit der entsprechenden Funktionalität stehen, und auch, dass die in der gleichen Reihenfolge/Anordnung dort stehen, wie in jeder anderen Anwendung.
Allerdings: Werden die bei `buttons()` nicht mitgeliefert? Habe es jetzt nicht getestet, aber wenn es keine Möglichkeit gibt an so ein Button-Objekt zu kommen, würde die `standardButton()`-Methode keinen Sinn machen, die von einem `QAbstractButton` ermittelt welcher `StandardButton` das ist (oder ob es kein Standardbutton ist.)