2016-05-04 33 views
3

PyQt5でQColorDialogを使用しているため、ユーザーは色を選択できます。私のコードは次のようになります:QColorDialogがキャンセルされたかどうかを確認してください。

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

これはうまくいきますが、ユーザーがダイアログをキャンセルしたかどうかを検出できません。

ダイアログがキャンセルされても、返される色はQColor(0, 0, 0, 255)で、Noneではありません。

静的getColorメソッドを使用してダイアログがキャンセルされたかどうかを検出する方法はありますか?または、手動でQColorDialogインスタンスを構築する必要がありますか?

+3

['QColor :: isValid'](http://doc.qt.io/qt-5/qcolor.html#isV​​alid)は何を返しますか? – thuga

+0

ああ、それは動作するようです..答えとして追加するには自由に感じてください:) – tobspr

答えて

4

QColor::isValidを使用して、返される色が有効な色であるかどうかを確認してください。

関連する問題