我已经实现了一个自定义QTextEdit类,在其中重写了该keyPressEvent方法。
我想检查按下的键是否属于以下键:
1. 大写字母
2. 小写字母
3. 空格
如果我的函数声明是这样的:
def keyPressEvent(self, event):
Run Code Online (Sandbox Code Playgroud)
我可以做类似的事情:
if event.key() in (
QtCore.Qt.Key_A,
QtCore.Qt.Key_B,
QtCore.Qt.Key_C,
QtCore.Qt.Key_D,
....
....
Run Code Online (Sandbox Code Playgroud)
等等。
我将如何循环这些值?我将如何访问按下的实际字符?我想创建一串按下的按键,只要它们是字母即可。
查看内置字符串方法(例如 isalpha())和QKeyEvent.text()
s = event.text()
if s == ' ':
print(s+' is space')
elif s.isalpha():
if s.isupper():
print(s+' is upper')
else:
print(s+' is lower')
else:
print(s+' is something else')
Run Code Online (Sandbox Code Playgroud)