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 ?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top