gpt4 book ai didi

qt - 弹出窗口中带有 TextField 的 Qml 组合框

转载 作者:行者123 更新时间:2023-12-01 21:57:49 26 4
gpt4 key购买 nike

我创建了一个自定义的ComboBox,它使用ListView和页脚中的TextField,用于动态地将选项添加到组合框。问题是,一旦弹出窗口失去焦点(因此当 TextField 接收焦点时),弹出窗口就会关闭。我尝试强制弹出窗口保持打开状态,这确实有效,但随后阻止了 TextField 接收焦点(我猜是因为弹出窗口在 open() 后立即重新获得焦点被称为)。

ComboBox {
// ...
popup: Popup {
property bool forceOpen: false
onClosed: {
if(forceOpen)
open()
}

contentItem: ListView {
// ...
footer: TextField {
onPressed: forceOpen = true
}
}
}
}

我还尝试了 PopupclosePolicy 属性的所有值,但没有一个有帮助。

我正在使用Qt5.11forceOpen 解决方案曾经适用于 Qt 5.10,但现在不再适用。

最佳答案

如果您不接受 ComboBox 上的焦点,您的问题应该得到解决:

ComboBox {
focusPolicy: Qt.NoFocus
popup: Popup {
// ...
}
}

关于qt - 弹出窗口中带有 TextField 的 Qml 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com