Dois atalhos para um QAbstractButton
-
05-07-2019 - |
Pergunta
Preciso atribuir dois atalhos a um QAbstractButton, mas não consigo encontrar uma maneira de fazer isso.
Parece que o único método é QAbstractButton::setShortcut(const QKeySequence & key).
É possível ?
Solução
QAbstractButton aceita apenas uma sequência de atalho.Tente dar um atalho no QtDesigner como Alt+A & Alt+Z e você verá que precisa fazer Alt+A E Alt+Z para executar o atalho.Então você não consegue ter 2 atalhos como deseja.
Mas há uma solução:
Todos QObject
tem uma função chamada event
que recebe todos os eventos.Você pode criar sua própria classe que herda do botão da sua classe (QPushButton
, etc.ou diretamente de QAbstractButton
se você quiser ter um botão personalizado) com uma lista de QShortcutSequence
(ou um par se você quiser apenas 2 atalhos) e reimplemente o event
função para rastrear o QShortcutEvent
.Não esqueça de liberar todos os demais eventos para serem processados pelas turmas de pais.