res.append(net);是一个qlist类型的,为什么能显示网格
时间: 2024-02-11 13:09:53 浏览: 57
`QList` 是一种Qt中的容器类,它类似于C++标准库中的`std::vector`,可以存储任意类型的数据或对象。在这个例子中,`res` 是一个 `QList` 对象,用于存储网格线对象。
但是,`QList` 本身并不能直接显示网格线,需要将存储在 `QList` 中的网格线对象添加到 `QGraphicsScene` 中,才能在视图中显示出来。
在这个例子中,我们可以使用一个循环遍历 `res` 列表中的每个网格线对象,并将其添加到 `QGraphicsScene` 中。具体来说,可以这样实现:
```
QGraphicsScene *scene = new QGraphicsScene(this);
foreach (MyGridItem *gridItem, res) {
scene->addItem(gridItem);
}
ui->graphicsView->setScene(scene);
```
在这个例子中,我们创建了一个 `QGraphicsScene` 对象 `scene`,并将其设置为 `ui->graphicsView` 的场景。接着,使用 `foreach` 循环遍历 `res` 列表中的每个网格线对象 `gridItem`,并将其添加到 `scene` 中。最后,将 `scene` 设置为 `ui->graphicsView` 的场景,就可以在视图中显示出所有的网格线了。
需要注意的是,在将网格线对象添加到 `QGraphicsScene` 中之前,需要先创建一个 `QGraphicsScene` 对象,并将其设置为视图的场景。这样,网格线对象才能够显示在视图中。
阅读全文