PyQt: keyPressEvent e keyReleaseEvent - mantendo pressionada a tecla sem rejeição
Eu quero implementar umQDialog
, em que uma tecla é pressionada por algum tempo (segundos) e é liberada posteriormente.
Eu tentei fazer isso comkeyPressEvent
ekeyReleaseEvent
funções.
O problema é que, quando uma tecla é pressionada, a rejeição (keyReleaseEvent
) ocorre muito rapidamente, o que não é desejado no meu caso.
Aqui está o que eu faço:
def keyPressEvent(self, eventQKeyEvent):
key = eventQKeyEvent.key()
if key == 54:
print('pressed') # 6
def keyReleaseEvent(self, eventQKeyEvent):
key = eventQKeyEvent.key()
if key == 54:
print('released') # 6
Resultado:
'pressed'
'released'
'pressed'
'released'
'pressed'
'released'
...
'pressed'
'released'
Gostaria de obter:
'pressed'
'released'
ou:
'pressed'
'pressed'
'pressed'
...
'pressed'
'pressed'
'released'