为什么,当我按 Enter 时,keyPressEvent
方法不能满足我的需要?它只是将光标移动到一个新行。
class TextArea(QTextEdit):
def __init__(self, parent):
super().__init__(parent=parent)
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.show()
def SLOT_SendMsg(self):
return lambda: self.get_and_send()
def get_and_send(self):
text = self.toPlainText()
self.clear()
get_connect(text)
def keyPressEvent(self, event):
if event.key() == QtCore.Qt.Key_Enter:
self.get_and_send()
else:
super().keyPressEvent(event)
答案 0 :(得分:7)
Qt.Key_Enter
是键盘上的Enter键:
Qt::Key_Return 0x01000004
Qt::Key_Enter 0x01000005 Typically located on the keypad.
使用:
def keyPressEvent(self, qKeyEvent):
print(qKeyEvent.key())
if qKeyEvent.key() == QtCore.Qt.Key_Return:
print('Enter pressed')
else:
super().keyPressEvent(qKeyEvent)