def keyPressEvent(self, event: QKeyEvent): print(f"KeySequenceEdit received a {event.key()} event") if event.key() in [Qt.Key_Escape, Qt.Key_Enter]: # Ignore Escape and Enter to let the dialog receive them. We don't # need to ignore tab; presumable, this is event-filtered by the # dialog. event.ignore() else: super().keyPressEvent(event) # Stop editing self.setKeySequence(self.keySequence())
def __key_press_handler(self, event: QKeyEvent) -> None: """ Only act on alphabetical key presses :return None: """ self.logger.debug("running") if type(event) == QKeyEvent: if 0x41 <= event.key() <= 0x5a: self.flag_box.set_flag(chr(event.key())) if self.__exp_created: self.save_device_data(('Keyflag', '')) event.accept() else: event.ignore() self.logger.debug("done")
def keyPressEvent(self, key_event: QKeyEvent) -> None: if self.completer and self.completer.popup().isVisible(): # The following keys are forwarded by the completer to the widget key = key_event.key() if key in (Qt.Key_Enter, Qt.Key_Return, Qt.Key_Escape, Qt.Key_Tab, Qt.Key_Backtab): key_event.ignore() return # let the completer do default behavior is_ctrl_modifier = (key_event.modifiers() & Qt.ControlModifier) != 0 is_shift_modifier = (key_event.modifiers() & Qt.ShiftModifier) != 0 ctrl_or_shift = is_ctrl_modifier or is_shift_modifier is_shortcut = is_ctrl_modifier and key_event.key( ) == Qt.Key_E # CTRL+E if not self.completer or not is_shortcut: # do not process the shortcut when we have a completer QLineEdit.keyPressEvent(self, key_event) if not self.completer or ctrl_or_shift and key_event.text() == '': return eow = "~!@#$%^&*()_+{}|:\"<>?,./;'[]\\-=" # end of word has_modifier = (key_event.modifiers() != Qt.NoModifier) and not ctrl_or_shift completion_prefix = self.text_under_cursor() if not is_shortcut: event_text = key_event.text() if has_modifier or not event_text or len( completion_prefix) < 1 or event_text[-1] in eow: self.completer.popup().hide() return if completion_prefix != self.completer.completionPrefix(): self.completer.setCompletionPrefix(completion_prefix) self.completer.popup().setCurrentIndex( self.completer.completionModel().index(0, 0)) cr = self.cursorRect() cr.setWidth( self.completer.popup().sizeHintForColumn(0) + self.completer.popup().verticalScrollBar().sizeHint().width()) self.completer.complete(cr) # popup it up!
def keyPressEvent(self, e: QKeyEvent): textCursor = self.textCursor() if (e.key() == Qt.Key_Return or e.key() == Qt.Key_Enter) and self._exitOnReturn: self.parent().accept() elif len(self.toPlainText()) - ( textCursor.selectionEnd() - textCursor.selectionStart()) < self._maxlength: if not self._validator or self._validator.regExp().exactMatch( e.text()): super().keyPressEvent(e) elif not e.text().isprintable(): if e.matches(QKeySequence.Paste): self.paste(QApplication.clipboard().text()) e.ignore() else: super().keyPressEvent(e) else: e.ignore() elif not e.text().isprintable() and not e.matches(QKeySequence.Paste): super().keyPressEvent(e) else: e.ignore()
def keyPressEvent(self, event: QtGui.QKeyEvent) -> None: if self.completer is not None and self.completer.popup().isVisible(): if event.key() in [ # Ignore keys when popup is present QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return, QtCore.Qt.Key_Escape, QtCore.Qt.Key_Tab, QtCore.Qt.Key_Down, QtCore.Qt.Key_Up, ]: event.ignore() return super().keyPressEvent(event) eow = "~!@#$%^&*()+{}|:\"<>?,./;'[]\\-=" tc = self.textCursor() tc.select(QtGui.QTextCursor.WordUnderCursor) prefix = tc.selectedText() if prefix != self.completer.completionPrefix(): self.completer.setCompletionPrefix(prefix) self.completer.popup().setCurrentIndex( self.completer.completionModel().index(0, 0) ) if ( len(prefix) < 2 or event.text() == "" or event.text()[-1] in eow or prefix == self.completer.currentCompletion() ): self.completer.popup().hide() else: rect = self.cursorRect() rect.setWidth( self.completer.popup().sizeHintForColumn(0) + self.completer.popup().verticalScrollBar().sizeHint().width() ) self.completer.complete(rect)
def keyPressEvent(self, event: QKeyEvent): if event.key() == Qt.Key_Escape: self.close() else: event.ignore()
def keyReleaseEvent(self, event: QtGui.QKeyEvent): event.ignore()
def keyPressEvent(self, event: QtGui.QKeyEvent): event.ignore()