Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top