2016-05-04 24 views
3

Ich verwende eine QColorDialog in PyQt5, um den Benutzer eine Farbe auswählen zu lassen. Mein Code sieht so aus:Überprüfen, ob QColorDialog abgebrochen wurde

result = QColorDialog.getColor(QColor(self.red, self.green, self.blue)) 
self.red, self.green, self.blue = result.red(), result.green(), result.blue() 

Das funktioniert soweit, aber ich kann nicht erkennen, ob der Benutzer den Dialog abgebrochen hat.

Auch wenn der Dialog abgebrochen wird, ist die zurückgegebene Farbe wie erwartet QColor(0, 0, 0, 255) und nicht None.

Gibt es eine Möglichkeit festzustellen, ob der Dialog mit der statischen Methode abgebrochen wurde? Oder muss ich manuell eine QColorDialog Instanz erstellen?

+3

Was gibt [QColor :: isValid] (http://doc.qt.io/qt-5/qcolor.html#isValid) zurück? – thuga

+0

Ah, das scheint zu funktionieren .. Fühlen Sie sich frei, es als Antwort hinzuzufügen :) – tobspr

Antwort

4

Verwenden Sie QColor::isValid, um zu überprüfen, ob die zurückgegebene Farbe eine gültige Farbe hat.

Verwandte Themen