def keyPressEvent(self, event): key = event.key() if key in self.KEY2METHOD: getattr(self.widget, self.KEY2METHOD[key])() self._refresh() elif key in self.ACCEPTED_KEYS: # We want keypresses like Escape to go through. ClearableEdit.keyPressEvent(self, event) else: text = str(event.text()) if text in "0123456789/-.": self.widget.type(text) self._refresh()
def focusOutEvent(self, event): self.prepareDataForCommit() ClearableEdit.focusOutEvent(self, event)
def focusInEvent(self, event): ClearableEdit.focusInEvent(self, event) self.widget.text = str(self.text()) # A timer is used here because a mouse event following the focusInEvent messes up the # selection (so the refresh *has* to happen after the mouse event). QTimer.singleShot(0, self._refresh)
def __init__(self, parent, is_clearable=False): self.widget = DateWidget(self.DATE_FORMAT) self.widget.text = '' ClearableEdit.__init__(self, parent, is_clearable=is_clearable)