我已经创建了这个QML窗口,但是当我用鼠标抓住它的边框并调整窗口内容时,窗口的内容重绘非常慢。您可以克隆我的repo并自行测试。任何想法如何提高绩效?
import QtQuick 2.0
Rectangle {
id: root
width: 600
height: 600
color: "lightgrey"
ListView {
model: mainModel
spacing: 5
width: parent.width
orientation: ListView.Horizontal
delegate: Rectangle {
//width: parent.desiredWidth / mainModel.dataLen()//+ " " + model.sort
width: root.width / mainModel.dataLen() - 10
//width: 200
ListView {
id: lv1
ScrollBar {
flickable: lv1
vertical: true
hideScrollBarsWhenStopped: false
scrollbarWidth: 5
}
model: homm
spacing: 5
width: parent.width
height: 150
orientation: ListView.Vertical
delegate:
Rectangle {
radius: 5
anchors.rightMargin: 5
anchors.leftMargin: 5
width: lv1.width
height: 20
color: "black"
Text { text: model.name
anchors.fill: parent
color: "white"
}
}
}
}
}
}
在这个QML中,我有listViews的listView,它可视化ListModel的ListModel。 homm
是主模型的属性名称。内部模型的元素具有名为name
的属性。您可以浏览这些类here和here的代码。