qt - QML QtQuick.Controls 2.2 Combobox 没有 selectByMouse;什么是替代方案?

标签 qt qml mouse options qtquickcontrols2

我们使用的是 QtQuick.Controls 2.2,由于各种原因无法降级。当我们使用 Combobox来自 QML 的 util,它不会与 selectByMouse 一起出现1.4 版本中引入的字段。

我们的要求是——能够选择组合框中的文本以进行复制以及有一个下拉菜单。

如何解决这个问题;有什么替代方法吗?

最佳答案

您可以更改 contentItem成为 TextField与您选择的属性。这可能如下所示:

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

    contentItem: TextField {
        text: control.editText
        selectByMouse: true
    }
}

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

这适用于 QtQuick.Controls 2.2起,作为属性 editableeditText需要存在。然后它会自动将编辑后的文本复制回 displayText一旦它是一个有效的输入。
对于早期版本,这很难实现。

关于qt - QML QtQuick.Controls 2.2 Combobox 没有 selectByMouse;什么是替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46239595/

相关文章:

c++ - 执行 qt 网络请求

c++ - 如何在 Qt 程序中实现 IDv3 标签?

qml - 设置 RowLayout 的最大宽度

c# - 更改鼠标按钮功能

python - 在 PyQT 和 Boost.Python 之间共享小部件

python - 如何保持多个 QAbstractItemModel 类同步

qt - 如何更改 Tumbler 中所选项目的颜色

qt - QML:同步滚动多个ListView

visual-c++ - 区分单击和双击 C++

macos - NSEvent 和魔术鼠标