检查QColorDialog是否被取消

tob*_*spr 4 python qt pyqt python-3.x qt5

QColorDialog在PyQt5中使用一个让用户选择一种颜色.我的代码看起来像这样:

result = QColorDialog.getColor(QColor(self.red, self.green, self.blue))
self.red, self.green, self.blue = result.red(), result.green(), result.blue()
Run Code Online (Sandbox Code Playgroud)

到目前为止这工作正常,但我无法检测用户是否取消了对话框.

即使取消对话框,返回的颜色QColor(0, 0, 0, 255)也不None是预期的颜色.

有没有办法检测对话框是否使用静态getColor方法取消?或者我是否必须手动构建QColorDialog实例?

thu*_*uga 6

使用QColor::isValid检查,如果返回的颜色是一个有效的颜色.