【问题标题】:QML combobox showing incorrect valueQML 组合框显示不正确的值
【发布时间】:2017-11-13 23:05:15
【问题描述】:
ComboBox {  
    anchors.fill: parent  
    model: rangeList  
    currentIndex: 1
}

rangeList 包含 1,2,3 作为数据,currentIndex1。但是当我运行 UI 时,它总是将currentindex 视为0。谁能说出为什么将currentIndex 视为0 而不是1

ListModel { id: rangeList 
    ListElement { name: "1" }
    ListElement { name: "2" }
    ListElement { name: "3" }
    ListElement { name: "4" }
}

【问题讨论】:

  • 我无法重现您的问题。请提供真正重现您的错误的代码的最小部分。我将模型设置为[1,2,3],正如预期的那样,初始选择是2
  • 请展示您如何创建rangeList。我猜问题出在那段代码中,对我们隐藏。
  • 您是否尝试过代码,与您发布的完全一样?我的ComboBox 在启动时正确显示2,当我将两者复制到同一个Window 中时。
  • 您检查输出是否有来自 QML 引擎的警告吗?

标签: qt qml qt5 qtquick2


【解决方案1】:

您可以尝试使用在对象实例化后发出的onCompleted 设置索引。

ComboBox {  
    anchors.fill: parent  
    model: rangeList  
    Component.onCompleted: currentIndex = 1
}

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    相关资源
    最近更新 更多