QML QtQuick.Controls 2.2 Combobox没有selectByMouse; 有什么选择?

iam*_*ind 4 mouse qt options qml qtquickcontrols2

我们正在使用QtQuick.Controls 2.2并且由于各种原因无法降级.当我们使用ComboboxQML中的util时,它不会出现selectByMouse在1.4版本中引入的字段.

我们的要求是 - 能够选择组合框中的文本进行复制,并有一个下拉菜单.

如何解决这个问题; 还有其他选择吗?

der*_*erM 5

您可以使用您选择的属性contentItem将其更改为a TextField.这可能如下所示:

ComboBox {
    id: control
    model: ['Hallo', 'Hello', 'Sallut', 'Godan Dagin']
    editable: true

    contentItem: TextField {
        text: control.editText
        selectByMouse: true
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您编辑文本,并且editText不是模型的元素,则不会接受该文本displayText.

这适用于QtQuick.Controls 2.2向前,因为属性editableeditText需要存在.然后,只要displayText它是有效输入,它就会自动将编辑后的文本复制回来.
对于早期版本,这很难实现.