我有以下代码。我需要为不同的 TableView 设置不同的“模型”字段。我怎样才能做到这一点?
我需要为每个 TableView 覆盖“模型”字段。有可能的?
// main.qml
ApplicationWindow {
id: window
TabView {
Tab {
title: "Tab 1"
MyTable {}
}
Tab {
title: "Tab 2"
MyTable {}
}
}
}
.
// MyTable.qml
MyTableView {
TableView {
TableViewColumn {
role: "number"
title: "Number"
}
model: MyModel
}
}
下一个代码是正确的,但太长了。
// main.qml
ApplicationWindow {
id: window
TabView {
Tab {
title: "Tab 1"
TableView {
TableViewColumn {
role: "number"
title: "Number"
}
model: MyModel_1
}
}
Tab {
title: "Tab 2"
TableView {
TableViewColumn {
role: "number"
title: "Number"
}
model: MyModel_2
}
}
}
}
您可以为模型设置属性别名。首先设置一个id,TableView
然后连接它的模型。
// MyTable.qml
MyTableView {
property alias model: tableView.model
TableView {
id: tableView
TableViewColumn {
role: "number"
title: "Number"
}
// model: MyModel // redundant in most cases
// unless you want to have a DEFAULT model
}
}
并model
在每个MyTable
项目中使用,如下所示:
// main.qml
ApplicationWindow {
id: window
TabView {
Tab {
title: "Tab 1"
MyTable { model: MyFirstModel }
}
Tab {
title: "Tab 2"
MyTable { model: MySecondModel }
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句