qml 在我切换之前不接受键盘事件 windows
qml does not accept keyboard event until i switch windows
我正在用 QML 开发某种视频播放器。我想通过键盘事件控制它,但问题是 qml 似乎不接受任何键盘事件,直到我切换 window 并返回应用程序 window。我试过
“焦点:真实”
“启用:真”
和
“FocusScope:项目”
但对我没有任何作用
如果您使用 Shortcut
,您应该禁用父页面中的快捷方式。
main.qml
ApplicationWindow
{
id:mainWindow
Shortcut {
id:backShortcut
sequences: ["Esc", "Back"]
onActivated: {
console.log("Back Shortcut In main Page")
}
}
}
CustomPage.qml
Page{
Component.onCompleted: {
backShortcut.enabled=false
}
Component.onDestruction: {
backShortcut.enabled=true
}
Shortcut {
id:backShortcutCustomPage
sequences: ["Esc", "Back"]
onActivated: {
console.log("Back Shortcut In Custom Page")
}
}
}
```
我通过追踪焦点解决了这个问题。问题是在 frame/page 切换期间我失去了焦点。因此,我通过 forceActiveFocus.
在每一帧启用它
我正在用 QML 开发某种视频播放器。我想通过键盘事件控制它,但问题是 qml 似乎不接受任何键盘事件,直到我切换 window 并返回应用程序 window。我试过 “焦点:真实” “启用:真”
和 “FocusScope:项目”
但对我没有任何作用
如果您使用 Shortcut
,您应该禁用父页面中的快捷方式。
main.qml
ApplicationWindow
{
id:mainWindow
Shortcut {
id:backShortcut
sequences: ["Esc", "Back"]
onActivated: {
console.log("Back Shortcut In main Page")
}
}
}
CustomPage.qml
Page{
Component.onCompleted: {
backShortcut.enabled=false
}
Component.onDestruction: {
backShortcut.enabled=true
}
Shortcut {
id:backShortcutCustomPage
sequences: ["Esc", "Back"]
onActivated: {
console.log("Back Shortcut In Custom Page")
}
}
}
```
我通过追踪焦点解决了这个问题。问题是在 frame/page 切换期间我失去了焦点。因此,我通过 forceActiveFocus.
在每一帧启用它