我正处于这种情况,我试图读取一个JSON配置文件,该文件指示哪些键命令映射到给定的操作.例如:
...
{
"Action": "Quit",
"Combo" : "CTRL+Q"
},
...
Run Code Online (Sandbox Code Playgroud)
QKeySequence从组合标记构造一个是微不足道的,但我需要监视QKeyEvents以触发操作.请注意我必须监视QKeyEvents,因为它们在应用程序中也用于其他目的.即仅监视QKeySequences的关键命令是不可接受的(如果可能的话).
如果没有编写自定义解析器来QKeyEvent为每个"Combo"标记构造一个对象,那么无论如何要比较QkeyEvent一个QKeySequence?例如:
QKeyEvent KeyCommandsHandler::toKeyEvent(QKeySequence sequence) {
//somehow convert to QKeyEvent
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个 QAction,当用户使用 Shift + 鼠标向上/向下滚动时将触发该 QAction。
有没有办法创建与此相对应的QKeySequence来设置 QAction 快捷方式?
如果没有,除了覆盖我的小部件的wheelEvent 之外,我还能做什么?我希望我有一个比这更干净的解决方案。
是否可以限制QKeySequence只显示一个快捷方式QKeySequenceEdit?目前它最多支持 4 个快捷方式。我的应用程序仅支持一个快捷方式的按键序列,例如Ctrl+Aor Ctrl+C,而不支持例如Ctrl+A, Dor Ctrl+C, X, Z。
是否可以限制QKeySequence或QKeySequenceEdit仅使用一个按键序列?