gpt4 book ai didi

events - 为什么PyQt中的keyPress事件不适用于Enter键?

转载 作者:行者123 更新时间:2023-12-04 18:10:32 30 4
gpt4 key购买 nike

为什么当我按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)

最佳答案

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)

关于events - 为什么PyQt中的keyPress事件不适用于Enter键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263063/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com