如何验证快捷键序列是否有效?

时间:2011-09-08 08:46:05

标签: qt keyboard-shortcuts

在我的应用程序中,我允许用户在行编辑中输入快捷方式。例如,如果用户输入 Ctrl + F10 ,则表示如果用户按 F10 ,将执行某个操作。

我使用QKeySequence类将字符串 Ctrl + F10 转换为QKeySequence,然后将此QKeySequence传递给QShortCut的构造函数。

有没有办法验证QKeySequence对快捷方式有效?例如。如果用户输入 Ctrl + Shift ,则会转换为QKeySequence,但我不想允许这样做以获得快捷方式。 与 Ctrl + F10 + Ctrl (变为 Ctrl )等字符串相同,...

1 个答案:

答案 0 :(得分:2)

您可以阻止用户输入快捷方式文本,并直接捕获密钥(您仍然需要手动过滤“孤儿”修饰键)。

有关工作示例,请参阅How can I capture QKeySequence from QKeyEvent depending on current keyboard layout?