更新现有的应用程序,我尝试将组合框添加到自动生成的对话框的每一行。 该对话框将从外部QML接收其数据,行数可能不同。
代码基本上看起来像
{
contentItem: Column
Repeater
{
model: valueModel
delegate: Row
{
function fillComboBox()
{
var choices = ChoiceListElement.choices;
if(typeof choices !== "undefined")
{
for(var i = 0; i < choices.length; i++)
{
comboboxModel.append({text: choices[i]});
}
}
}
Item
{
Component.onCompleted:
{
fillComboBox();
}
}
function format()
{
var formatted_string = name;
return formatted_string;
}
Text
{
text: format()
}
ComboBox
{
id: combo
width: 50
model: comboboxModel
}
}
}
ListModel
{
id: comboboxModel
}
根据我的要求,每行有一个组合框。 但是,所有组合框似乎都有相同的内容,可能是因为每个组合都采用相同的模型。
我如何为每行分配一个模型?
期望的:
content Combobox 1:
* option A
* option B
content Combobox 2:
* option C
* option D
有关于此的任何想法吗?
提前致谢!
迈克尔
更新:
答案 0 :(得分:0)
我建议移动&#39; comboboxModel&#39;在委托内部为每个组合框创建新模型。