Comment détecter la touche de modification sur le clic de la souris dans Qt
J'ai un QTableWidget
et voudrais qu'en appuyant sur la touche CTRL tout en cliquant sur un en-tête de colonne marque l'ensemble de la colonne. Pour obtenir l'index de colonne n'est pas un problème car il y a un sectionPressed signal qui me donne l'indice actuel de la colonne cliquée. Comment puis-je obtenir de l'état des modificateurs de clavier lorsqu'une colonne est cliqué?
Vous devez vous connecter pour publier un commentaire.
Essayer QApplication::keyboardModifiers() qui est toujours disponible
Sur Qt 5, essayez QGuiApplication::keyboardModifiers().
event
objet 🙂 oh pinaise!keyboardModifiers()
n'est pas toujours exactes.queryKeyboardModifiers()
est mieux, voir Martin Delille réponse.http://doc.qt.io/qt-5/qmouseevent.html
Vous pouvez utiliser
QGuiApplication::queryKeyboardModifiers()
qui est plus simple à utiliser:c'est vraiment ennuyeux, je dois installer un eventFilter et retirer le sectionPressed gestionnaire
Dans le eventFilter je peux vérifier si une touche a été pressée comme
Cela fonctionne pour moi.