Qml 在快速快捷方式中处理修改器
比如说,我有一个简单快速的应用程序Qml 在快速快捷方式中处理修改器,qml,qtquick2,qt-quick,qtquickcontrols2,qtquickcontrols,Qml,Qtquick2,Qt Quick,Qtquickcontrols2,Qtquickcontrols,比如说,我有一个简单快速的应用程序 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("a
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键。当我将sequence属性设置为Alt或Ctrl时,Shift。。。任何修改器都不会发生任何事情。那么有没有办法只处理快捷方式中的修改器按下
我想我不能使用快捷键。onPressed是因为我想处理Alt键,无论现在关注哪个项目这需要一种与快捷键稍有不同的方法,您可以使用附加的属性键
免责声明:由于修饰符有点不同,可能不会触发按下的信号,所以它很可能不起作用。在这种情况下,我希望我至少为您指出了正确的方向文档说您可以编写sequence:Alt+I,但目前无法尝试
祝你有愉快的一天如果你正在测试的是Windows,那么我认为没有办法在Windows上做到这一点。这也是我的应用程序的一个问题,在我的应用程序中,用户应该能够按住Alt键来使用颜色选择器。但在macOS和Ubuntu上运行良好 我的猜测是,它与alt是激活Windows菜单项的全局快捷方式有关。。虽然Ubuntu也是如此,而且在那里工作得很好 对于Windows上的Photoshop来说,这似乎也是一个问题,需要解决几个常见的问题:
这就是我要说的。甚至可以使用ifevent.key===Qt.key\u Alt,但是我想从现在焦点中的任何项目处理这个键。此外,我想在按下Alt键后将我的forceActiveFocus放在我的物品上……然后我认为这是不可行的。是的,我可以。但是我只需要Alt:祝你有愉快的一天!
Item {
focus: true
Keys.onPressed: {
if (event.modifiers & Qt.AltModifier)
console.log("alt activated")
}
}