Hello World / plɹoM ollǝH

Programmers Live in Vain

読み取り専用にできるチェックボックスを作る

class MyCheckBox(QCheckBox):
    def __init__(self, in_text=None):
        super().__init__(in_text)
        self._readOnly = False

    def isReadOnly(self) -> bool:
        return self._readOnly

    def setReadOnly(self, readonly: bool):
        self._readOnly = readonly

    def mousePressEvent(self, event):
        if self.isReadOnly():
            event.accept()
        else:
            super().mousePressEvent(event)

    def mouseMoveEvent(self, event):
        if self.isReadOnly():
            event.accept()
        else:
            super().mouseMoveEvent(event)

    def mouseReleaseEvent(self, event):
        if self.isReadOnly():
            event.accept()
        else:
            super().mouseReleaseEvent(event)

    def keyPressEvent(self, event):
        if self.isReadOnly():
            event.accept()
        else:
            super().keyPressEvent(event)