有没有办法在组合框上放置占位符?

时间:2019-01-03 09:51:49

标签: qt qml

我想构建一个ComboBox组件,它是我们第一次使用该组件时,该文本具有占位符。

例如:

|面板语言|

当我单击它时,我看到以下选项:

| -英语-|

|葡萄牙语|

| -法语-|

如果我选择了一个,那现在在组合框上将可见

我正在使用qt 5.12,但仍然没有找到解决方法。

使用html可以轻松完成我想要的操作:

<style>
    select:invalid { color: gray; }
</style>
<form>
    <select required>
        <option value="" disabled selected hidden>Please Choose...</option>
        <option value="0">Open when powered (most valves do this)</option>
        <option value="1">Closed when powered, auto-opens when power is cut</option>
    </select>
</form>

如何用qml做类似的事情?

1 个答案:

答案 0 :(得分:4)

可以使用displayTextcurrentIndex来完成:

ComboBox {
    currentIndex: -1
    displayText: currentIndex === -1 ? "Please Choose..." : currentText
    model: [
        "Open when powered (most valves do this)",
        "Closed when powered, auto-opens when power is cut"
    ]
}