Due scorciatoie per un QAbstractButton
-
05-07-2019 - |
Domanda
Devo assegnare due scorciatoie a un QAbstractButton, ma non riesco a trovare un modo per farlo.
Sembra che l'unico metodo sia QAbstractButton :: setShortcut (const QKeySequence & amp; key).
È possibile?
Soluzione
QAbstractButton accetta solo una sequenza di collegamenti. Prova a dare a scorciatoia in QtDesigner come Alt + A & amp; Alt + Z e vedrai che devi fare Alt + A E Alt + Z per eseguire il collegamento. Quindi non puoi ottenere 2 scorciatoie come desideri.
Ma c'è una soluzione:
Tutti i QObject
hanno una funzione chiamata event
che riceve tutti gli eventi. Puoi creare la tua classe che eredita dal tuo pulsante di classe ( QPushButton
, ecc. O direttamente da QAbstractButton
se vuoi avere un pulsante personalizzato) con un elenco di QShortcutSequence
(o una coppia se si desidera solo 2 scorciatoie) e implementare nuovamente la funzione evento
per tenere traccia di QShortcutEvent
. Non dimenticare di pubblicare tutti gli altri eventi che verranno elaborati dalle classi dei genitori.