Два ярлыка для QAbstractButton - PullRequest
       20

Два ярлыка для QAbstractButton

1 голос
/ 21 октября 2009

Мне нужно назначить два ярлыка для QAbstractButton, но я не могу найти способ сделать это.

Кажется, единственным методом является QAbstractButton :: setShortcut (const QKeySequence & key).

Возможно ли это?

1 Ответ

1 голос
/ 21 октября 2009

QAbstractButton принимает только одну последовательность ярлыков. Попробуйте назначить ярлык в QtDesigner, например, Alt + A и Alt + Z, и вы увидите, что вам нужно выполнить Alt + A AND Alt + Z, чтобы выполнить ярлык. Таким образом, вы не можете добиться, чтобы 2 ярлыка, как вы хотите.

Но есть решение:

Все QObject имеют функцию с именем event, которая принимает все события. Вы можете создать свой собственный класс, который наследуется от вашей кнопки класса (QPushButton и т. Д. Или непосредственно от QAbstractButton, если вы хотите иметь персонализированную кнопку) со списком QShortcutSequence (или парой, если вы хотите только 2 ярлыки) и повторно реализовать функцию event для отслеживания QShortcutEvent. Не забудьте опубликовать все другие события, которые будут обрабатываться родительскими классами.

...