Это поздний ответ, но это решение, которое я нашел.
Я пытался обрабатывать несколько нажатых клавиш одновременно (например, A и W или W и D ). Приведенное ниже решение работает с одновременным нажатием нескольких клавиш (включая Ctrl , Shift , Alt и т. Д.). Я надеюсь, что кто-то еще может найти это полезным.
def keyPressEvent(self, event):
self.firstrelease = True
astr = "pressed: " + str(event.key())
self.keylist.append(astr)
def keyReleaseEvent(self, event):
if self.firstrelease == True:
self.processmultikeys(self.keylist)
self.firstrelease = False
del self.keylist[-1]
def processmultikeys(self,keyspressed):
# your logic here
print keyspressed
Перейдите сюда для первоначального обсуждения этого решения: Как получить несколько нажатий клавиш в одном событии?