1

我需要为 QAbstractButton 分配两个快捷方式,但我找不到这样做的方法。

似乎唯一的方法是 QAbstractButton::setShortcut(const QKeySequence & key)。

是否可以 ?

4

1 回答 1

1

QAbstractButton 只接受一个快捷方式序列。尝试在 QtDesigner 中使用 Alt+A 和 Alt+Z 等快捷方式,您将看到您必须执行 Alt+AAlt+Z 才能执行快捷方式。因此,您无法实现想要的 2 个快捷方式。

但是有一个解决方案:

QObject都有一个名为event接收所有事件的函数。您可以创建自己的类,该类继承自您的类按钮(QPushButton等,或者QAbstractButton如果您想拥有个性化按钮,则直接继承自),其中包含一个列表QShortcutSequence(或一对,如果您只想要 2 个快捷方式)并重新实现该event功能以跟踪QShortcutEvent. 不要忘记释放所有其他事件以由父类处理。

于 2009-10-21T13:08:34.997 回答