def keyPressEvent(self, e): if e.key() in [Qt.Key_Return, Qt.Key_Enter]: self._client.tell('exec', 'csvsink.filecount = %s' % int(self.text())) self.setReadOnly(True) else: QLineEdit.keyPressEvent(self, e)
def keyPressEvent(self, kev): key_code = kev.key() # if it's a shifted scroll key... if kev.modifiers() & Qt.ShiftModifier and \ self.scrollWidget and \ key_code in self.scrollingKeys: # create a new, unshifted key event and send it to the # scrolling widget nev = QKeyEvent(kev.type(), kev.key(), Qt.NoModifier) QApplication.sendEvent(self.scrollWidget, nev) return if key_code == Qt.Key_Escape: # abort history search self.setText(self._start_text) self._current = -1 self.escapePressed.emit() QLineEdit.keyPressEvent(self, kev) elif key_code == Qt.Key_Up: # go earlier if self._current == -1: self._start_text = self.text() self._current = len(self.history) self.stepHistory(-1) elif key_code == Qt.Key_Down: # go later if self._current == -1: return self.stepHistory(1) elif key_code == Qt.Key_PageUp: # go earlier with prefix if self._current == -1: self._current = len(self.history) self._start_text = self.text() prefix = self.text()[:self.cursorPosition()] self.stepHistoryUntil(prefix, 'up') elif key_code == Qt.Key_PageDown: # go later with prefix if self._current == -1: return prefix = self.text()[:self.cursorPosition()] self.stepHistoryUntil(prefix, 'down') elif key_code == Qt.Key_Return or key_code == Qt.Key_Enter: # accept - add to history and do normal processing self._current = -1 text = self.text() if text and (not self.history or self.history[-1] != text): # append to history, but only if it isn't equal to the last self.history.append(text) self._completer.setCompletionPrefix('') self._completer.setModel(QStringListModel([], self)) QLineEdit.keyPressEvent(self, kev) else: # process normally QLineEdit.keyPressEvent(self, kev)