示例#1
0
    def eventFilter(self, *args: Any, **kwargs: Any) -> bool:
        """Filter MousePressEvent and show num pad."""
        sender = args[0]
        event = args[1]

        if event.type() == QEvent.MouseButtonPress:
            if self.isEnabled() and not self.isReadOnly():
                numpad = NumPad(self, sender.text())
                if numpad.exec_() == QDialog.Accepted:
                    newValue = string_to_float(numpad.outputLineEdit.text())
                    self.setValue(int(newValue))

        return QDoubleSpinBox.eventFilter(self, *args, **kwargs)