Я пытаюсь создать подкласс QCheckBox
для наследования его поведения, но создаю подкласс для его paintEvent
, чтобы я мог нарисовать его как кнопку переключения Android. Есть ли способ, позволяющий его таблице стилей определять цвет, с которым она dr aws?
В приведенном ниже примере я рисую эллипс с цветом, который я сделал как qt Property
в надежде, что Я мог бы сделать что-то вроде inst.setStyleSheet("MyCheckBox {MyColor: red;}")
, чтобы сделать его красным, но это ничего не делает. Возможно ли это?
from PySide2 import QtCore
from PySide2 import QtGui
from PySide2 import QtWidgets
class MyCheckBox(QtWidgets.QCheckBox):
def __init__(self, parent=None):
super(MyCheckBox, self).__init__(parent)
self._myColor = QtGui.QColor(0, 255, 0)
def myColor(self):
return self._myColor
def setMyColor(self, qcolor):
self._myColor = qcolor
MyColor = QtCore.Property(QtGui.QColor, myColor, setMyColor)
def paintEvent(self, event):
paint = QtGui.QPainter(self)
paint.setBrush(self._myColor)
paint.drawEllipse(0, 0, self.width(), self.height())