Question

Je dois attribuer deux raccourcis à un QAbstractButton, mais je ne trouve pas le moyen de le faire.

Il semble que la seule méthode possible est QAbstractButton :: setShortcut (const QKeySequence & amp; key).

Est-ce possible?

Était-ce utile?

La solution

QAbstractButton n'accepte qu'une séquence de raccourci. Essayez de donner un raccourci dans QtDesigner comme Alt + A & amp; Alt + Z et vous verrez que vous devez faire Alt + A ET Alt + Z pour exécuter le raccourci. Vous ne pouvez donc pas avoir 2 raccourcis comme vous le souhaitez.

Mais il existe une solution:

Tous les QObject ont une fonction nommée événement qui reçoit tous les événements. Vous pouvez créer votre propre classe qui hérite de votre bouton de classe ( QPushButton , etc. ou directement à partir de QAbstractButton si vous souhaitez avoir un bouton personnalisé) avec une liste de QShortcutSequence (ou une paire si vous voulez seulement 2 raccourcis) et réimplémentez la fonction event pour suivre le QShortcutEvent . N'oubliez pas de libérer tous les autres événements pour qu'ils soient traités par les classes de parents.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top