我正在开发一个QtQuickControls应用程序,我注意到有关Shortcut上下文的一些困难行为。使用QtQuick.Controls 2.0时,特定于窗口的快捷方式似乎相互覆盖。我的应用程序完全由键驱动,由多个页面/弹出窗口(工业控制面板)组成。由于其简单性和缺乏焦点管理,我决定使用Shortcuts。我知道我的实现是合法的,因为它适用于QtQuick.Controls 2.2。下面简要介绍了实施情况。
ApplicationWindow{
id: mainWindow
Shortcut{
objectName: "menuButton"
context: Qt.WindowShortcut
sequence: "z"
onActivated: {
mainMenu.open()
}
}
}
Popup{
id: mainMenu
anchors.fill: parent
Rectangle{
id: rectangle
color: "#ffffff"
}
Shortcut{
id: changeColor
context: Qt.WindowShortcut
sequence: "z"
onActivated: {
rectanlge.color = "steelblue"
}
}
}
这是一个粗略的实现,但我注意到,在第一次按下该序列后,具有相同序列的两个快捷键将相互抵消,即使它们的上下文是两个互斥的窗口。这是一个错误吗?有没有解决方法?这在Qt 5.9.0中使用QtQuick.Controls 2.2