def __new__(cls, parent_instance: QSlider) -> "QClickableSlider": if parent_instance.orientation() == Qt.Horizontal: return super().__new__(QHorizontalClickableSlider) elif parent_instance.orientation() == Qt.Vertical: return super().__new__(QVerticalClickableSlider) else: return super().__new__(cls)
def __init__(self, parent_instance: QSlider): super().__init__(parent_instance.orientation(), parent_instance.parent()) self.setSizePolicy(parent_instance.sizePolicy()) self.setTracking(self._track_value_change_when_dragging) self.is_dragging: bool = False