qt 怎么用QPainter 在scene上绘制矩形
时间: 2024-02-22 13:54:58 浏览: 154
要在`QGraphicsScene`上绘制矩形,可以使用`QGraphicsScene`提供的`addRect()`方法,也可以使用`QPainter`在`QGraphicsScene`上绘制矩形。
以下是使用`QPainter`在`QGraphicsScene`上绘制矩形的示例代码:
```cpp
QGraphicsScene* scene = new QGraphicsScene();
QGraphicsView* view = new QGraphicsView(scene);
// 在scene上添加一个矩形item
QGraphicsRectItem* rectItem = new QGraphicsRectItem(0, 0, 100, 100);
scene->addItem(rectItem);
// 获取矩形item的边界矩形
QRectF rect = rectItem->boundingRect();
// 创建一个QPainter
QPainter painter;
painter.begin(scene);
// 在scene的(50, 50)位置绘制一个矩形
painter.drawRect(50, 50, rect.width(), rect.height());
painter.end();
```
以上代码中,我们先在`QGraphicsScene`上添加了一个矩形`QGraphicsRectItem`,然后使用`QPainter`在`QGraphicsScene`上绘制了一个矩形,绘制的位置是矩形item的中心点(50, 50)。需要注意的是,我们在绘制前需要调用`QPainter::begin()`方法,绘制完成后需要调用`QPainter::end()`方法。
阅读全文