qml - 在 QtQuick Shortcut 中处理修饰符
问题描述
我有一个简单的 QtQuick 应用程序,比如说
import QtQuick 2.12
import QtQuick.Window 2.12
Window {
visible: true
width: 640
height: 480
Shortcut {
sequence: "i"
context: Qt.ApplicationShortcut
onActivated: {
console.log("activated!")
}
}
}
当我按下“I”键时,我看到“已激活!” 在控制台中。但我的问题是我的应用程序应该响应 Alt 键(没有任何主键)。当我将“序列”属性设置为“Alt”(或“Ctrl”、“Shift”……任何修饰符)时,什么也没有发生。那么有什么方法可以只处理快捷方式中的修饰符按下吗?
我想我不能使用 Keys.onPressed 因为无论现在关注哪个 Item 我都想处理 Alt 键
解决方案
我不认为有办法在 Windows 上执行此操作,如果那是您正在测试的地方。这也是我的应用程序的一个问题,用户应该能够按住 Alt 来使用颜色选择器。不过在 macOS 和 Ubuntu 上运行良好。
我的猜测是它与 alt 作为在 Windows 上激活菜单项的全局快捷方式有关。虽然 Ubuntu 也是如此,并且在那里工作正常。
对于 Windows 上的 Photoshop 来说,这似乎也是一个问题,有几个常见的黑客可以解决它:
推荐阅读
- typescript - Typescript Pick<> 使用类型而不是键
- c++ - 精度问题,3个平面相交处的点精度
- google-sheets - 如何根据谷歌表格中的 2 个条件创建 SKU 生成器
- mysql - MySQL选择所有用户ID,其中'xyz'不是另一个表的列中的值
- sql - 雪花中具有不敏感值的重复数据删除行
- multidimensional-array - 为什么将数组推入数组会在数组中给出数组中的数组
- javascript - Google App Script/Javascript - 无法使用 Google App Script 循环到 Google 电子表格中的列末尾
- python - 如何修复 int 在 python 中不可迭代?
- node.js - 在 Mac 上设置默认节点版本
- css - 为什么我的按钮无法在 localhost.3000 上呈现?