我正在尝试为我的qml应用程序实现键盘快捷键控件.我知道有可能使用Action元素,但我不想要必须使用的菜单和工具栏.这就是我用键盘事件接近这个主题的原因.为此,我需要让执行操作的元素成为焦点.但我的目标是全局快捷控制,所以理论上我需要把所有有问题的元素都集中在一起.我FocusScope在文档中找到了类型,但我不确定这是否是我需要的.这是否意味着嵌套FocusScopes'幻灯片' 的焦点通过最后一个元素' FocusScopes不是手动获取焦点,focus: true因此只有最后一个元素保持焦点?或者在获得焦点的幻灯片上的所有元素都有activeFocus 物业集?
这是正确的方法还是我需要别的东西?
专注于Qt Quick在我看来是一团糟.它总是让我感到困惑,我最终还是乱搞它forceActiveFocus().我推荐新的Shortcut类型:
Shortcut {
sequence: StandardKey.Quit
context: Qt.ApplicationShortcut
onActivated: Qt.quit()
}
Run Code Online (Sandbox Code Playgroud)
使用该context属性,您可以选择是否要将快捷方式应用于当前窗口或整个应用程序.
捷径旨在取代行动.我想在将来杀死后者,因为......
- 比较实际用户代码:http://cutebin.fi/prwznhkbo
- 查看BasicButton.qml周围的"动作"相关表达式的数量
- 恕我直言,整个概念不太适合移动/嵌入式或QML
行动是一项经常被要求的功能.现在他们拥有它,常见的问题是"如何使用不同的图标/文本"或"如何知道触发动作的源".两者都与Action的唯一目的相矛盾,如果它们只是首先编写更简单的QML代码,那么它们就不存在"问题",如示例代码段所示.:)
显然,Action最有用的部分是快捷功能.那些需要快捷方式的人并不满意他们需要使用Action,因为"所有这些其他东西都有,我只想要一条捷径".
| 归档时间: |
|
| 查看次数: |
2846 次 |
| 最近记录: |