我正在尝试做一个看似简单的事情:在一个窗口中双击后,我想打开第二个顶层(非模态)窗口并激活它。但是,无论我做什么,第二个窗口都不会激活,焦点仍保留在第一个窗口中。
这是一个最小的示例:
import QtQuick 2.11
import QtQuick.Controls 2.4
ApplicationWindow {
id: root
height: 480
width: 640
visible: true
MouseArea {
anchors.fill: parent
onDoubleClicked: {
var w = otherWindowComponent.createObject(root)
w.show()
w.requestActivate() // same effect when removed
}
}
Component {
id: otherWindowComponent
ApplicationWindow {
id: child
width: 400
height: 300
Rectangle {
color: "blue"
width: 100
height: 100
focus: true
}
}
}
}
我想念什么吗?谢谢!
UPD:一些额外的信息:
答案 0 :(得分:1)
也许是Windows的错误,在Linux中它可以正常工作。因此,一种解决方法是在打开窗口后的几毫秒内使用计时器设置焦点。