Je crée une application, où appuyez sur la presse "Flèche + Down Down". Il n'est pas identique à la première flèche gauche, puis flèche gauche), actuellement dans l'événement KeighpresserEvent, je les reçois un par un sur deux distinct appels. p>
Y a-t-il un moyen par lequel je peux obtenir plusieurs keypress dans un événement de clavier? p>
3 Réponses :
Rien n'est "en même temps" et je crois en Qt, vous ne pouvez pas avoir ce type de comportement (à l'exception des touches de modificateur comme Shift, ALT, etc.). p>
Approchez le problème d'une manière différente. Lorsque vous recevez une des clés, vérifiez si vous avez reçu l'autre en un court moment, dites 20MS avant. P>
Il s'agit d'informations très utiles sur la combinaison de touches dans la touche QT.
J'ai résolu le problème en dessous du code.
QSet<Qt::Key> keysPressed;
void Widget::keyPressEvent(QKeyEvent * event) {
m_bFirstRelease = true;
keysPressed+= event->key();
}
void Widget::keyReleaseEvent(QKeyEvent *) {
if(m_bFirstRelease) {
processMultiKeys(keysPressed);
}
m_bFirstRelease = false;
keysPressed-= event->key();
}
Im obtenir 'impossible de convertir int vers qt :: clé' Ici: qset
Merci pour cela. Je pose du code pour l'équivalent Python (Pyqt) afin que quelqu'un d'autre puisse la trouver utile.
Êtes-vous sûr qu'ils ne sont pas | 'ed ensemble quand vous les tenez ensemble?
@Redx, non je ne les reçois pas | `ed
Dupliquer de Stackoverflow.com/Questtions/3081091/qt-multiple -key-combo-ev ent