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

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

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

Является ли это возможным?

1 ответ

Решение

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

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

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

Другие вопросы по тегам