gpt4 book ai didi

qt - QML:delegateChoice 中的 ComboBox 无法从 Controls 2 tableView 模型中读取值。 (model.display 未定义)

转载 作者:行者123 更新时间:2023-12-04 10:16:05 26 4
gpt4 key购买 nike

我有一个 Controls 2 tableView 和 qt.labs.model 1.0。
在第一个 DelegateChoice - comboBox 中,我尝试使用 model.display 读取“group”列(第 3 列)的值,但显示未定义。请注意,在第二个 delegateChoice - TextField 中,我可以使用 model.display 轻松读取列值。

无论如何,我如何阅读 ComboBox 中的“组”列。

TableView {
id: table
anchors.fill: parent
clip: true
columnSpacing: 4
rowSpacing: 4
columnWidthProvider: column => Math.min(600, model.columnWidth(column))

model: TableModel {
id: tableModel
TableModelColumn { display: "name" }
TableModelColumn { display: "domain" }
TableModelColumn { display: "port" }
TableModelColumn { display: "group" }
TableModelColumn { display: "status" }
TableModelColumn { display: "mac" }

rows: [
{ name:"dev1", domain:"mydomain", port: 3719, group: "group1", status:"available", mac:"192.168.1.1" },
{ name:"dev1", domain:"mydomain", port: 3719, group: "group2", status:"available", mac:"192.168.1.1" }
]
}

delegate: DelegateChooser {
DelegateChoice {
column: 3
delegate: ComboBox {
textRole: "text"
valueRole: "value"
model: groupsModel
currentIndex: indexOfValue(model.display)
}
}
DelegateChoice {
delegate: TextField {
text: model.display
implicitWidth: 140
onAccepted: model.display = text
}
}
}
}

最佳答案

问题是属性之间存在冲突,因为观察到 QComboBox 有一个属性“model”,它的值是通过 TableView 也有的“model.rolename”访问的。

一种解决方案是简单地使用“显示”,因为建议groupsModel 没有该名称作为角色:

currentIndex: indexOfValue(display)

关于qt - QML:delegateChoice 中的 ComboBox 无法从 Controls 2 tableView 模型中读取值。 (model.display 未定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61050749/

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