12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- try:
- from PyQt5 import QtWidgets
- except ImportError:
- from PyQt4 import QtGui as QtWidgets
- class ColorDialog(QtWidgets.QColorDialog):
- def __init__(self, parent=None):
- super(ColorDialog, self).__init__(parent)
- self.setOption(QtWidgets.QColorDialog.ShowAlphaChannel)
-
- self.setOption(QtWidgets.QColorDialog.DontUseNativeDialog)
-
-
-
- self.default = None
- self.bb = self.layout().itemAt(1).widget()
- self.bb.addButton(QtWidgets.QDialogButtonBox.RestoreDefaults)
- self.bb.clicked.connect(self.checkRestore)
- def getColor(self, value=None, title=None, default=None):
- self.default = default
- if title:
- self.setWindowTitle(title)
- if value:
- self.setCurrentColor(value)
- return self.currentColor() if self.exec_() else None
- def checkRestore(self, button):
- if self.bb.buttonRole(button) & \
- QtWidgets.QDialogButtonBox.ResetRole and self.default:
- self.setCurrentColor(self.default)
|