QML:Canvas 喜欢一个视图
QML: Canvas like a view
我有一组c++后端提供的矩形,我想画画
它们中的每一个都在 qml 一侧带有一些额外的装饰、颜色不透明度等(尊重矩形的位置和大小)。
我希望有某种特殊类型的视图可以接受包含所有这些矩形的模型,然后在委托中使用它们来定义项目的位置和大小。
我能找到的最好的是 'Canvas',我可以用它来满足我的需要,但也许有更合适的东西?
您可以尝试使用 listview delegate。
也许你可以使用基于QObjectList的模型,如下所述link
https://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html
在您的 C++ 代码中,使用 Q_PROPERTY
从矩形中公开所需的数据
A Repeater
可以接受模型并在任何 size/position.
处实例化您的矩形
Repeater {
model: rectangleModel // Comes from C++
delegate: Rectangle {
x: model.x
y: model.y
width: model.width
height: model.height
}
}
我有一组c++后端提供的矩形,我想画画 它们中的每一个都在 qml 一侧带有一些额外的装饰、颜色不透明度等(尊重矩形的位置和大小)。
我希望有某种特殊类型的视图可以接受包含所有这些矩形的模型,然后在委托中使用它们来定义项目的位置和大小。
我能找到的最好的是 'Canvas',我可以用它来满足我的需要,但也许有更合适的东西?
您可以尝试使用 listview delegate。
也许你可以使用基于QObjectList的模型,如下所述link
https://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html
在您的 C++ 代码中,使用 Q_PROPERTY
A Repeater
可以接受模型并在任何 size/position.
Repeater {
model: rectangleModel // Comes from C++
delegate: Rectangle {
x: model.x
y: model.y
width: model.width
height: model.height
}
}