Два ярлыка для 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
, Не забудьте опубликовать все другие события, которые будут обрабатываться родительскими классами.