我正在使用Qt 5.7和QtQuick.Controls 2.0。我想默认我的ComboBox
是开放的。为此,我只需将popup.visible
设置为true,但不幸的是我在控制台中收到以下错误:QML Popup: cannot find any window to open popup in.
。单击我的ComboBox会打开并关闭它,没有任何错误消息。我甚至尝试Component.onCompleted: _popup.open()
,其中_popup
是我的ComboBox中弹出组件的id
,但会出现相同的错误消息。
编辑1(添加一个简单的例子):
ApplicationWindow {
width: 200
height: 200
Item {
anchor.fill: parent
ComboBox {
popup.visible: true
model: ["First", "Second", "Third"]
}
}
答案 0 :(得分:1)
更新到Qt 5.7.1解决了我的问题,感谢@BaCaRoZzo的建议!
编辑1:
作为附注,我想补充一点,如果您收到消息QML Popup: cannot find any window to open popup in.
,由于Popup组件无法找到它的父级,也会发生这种情况。例如,如果弹出窗口是在StateMachine的状态中创建的,则会发生这种情况。在这种情况下,您必须显式设置Popup的parent
属性!