我创建了一个自定义ComboBox
,该自定义ListView
在页脚中使用了TextField
,并用于向ComboBox
动态添加选项。
问题是,一旦弹出窗口失去焦点(因此TextField
接收焦点),弹出窗口就会关闭。
我试图强制弹出窗口保持打开状态,该方法确实起作用,但是却阻止了TextField
获得焦点(我想是因为调用open()
时弹出窗口会重新获得焦点)。
ComboBox {
// ...
popup: Popup {
property bool forceOpen: false
onClosed: {
if(forceOpen)
open()
}
contentItem: ListView {
// ...
footer: TextField {
onPressed: forceOpen = true
}
}
}
}
我还尝试了closePolicy
的{{1}}属性的所有值,但没有一个起作用。
我正在使用 Qt5.11 。 Popup
解决方案曾经与Qt 5.10一起使用,但现在不再使用。
答案 0 :(得分:2)
如果您不关注ComboBox
,应该解决您的问题:
ComboBox {
focusPolicy: Qt.NoFocus
popup: Popup {
// ...
}
}