检查按下的键是否是 PyQt 中的字母或空格

Oma*_*r S 3 python pyqt

我已经实现了一个自定义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)

等等。

我将如何循环这些值?我将如何访问按下的实际字符?我想创建一串按下的按键,只要它们是字母即可。

Jon*_*nas 5

查看内置字符串方法(例如 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)