qt QGraphicsItem画圆
时间: 2023-07-05 16:03:44 浏览: 171
使用Qt的QGraphicsItem类可以绘制圆。下面是一个简单的示例代码:
```cpp
#include <QGraphicsEllipseItem>
#include <QPainter>
class CircleItem : public QGraphicsEllipseItem
{
public:
CircleItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = nullptr)
: QGraphicsEllipseItem(x, y, width, height, parent)
{
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
{
painter->setBrush(Qt::green);
painter->drawEllipse(rect());
}
};
```
在上面的代码中,我们定义了一个CircleItem类,它继承自QGraphicsEllipseItem类,用于绘制圆。
在paint()函数中,我们首先设置画刷为绿色,然后使用QPainter的drawEllipse()函数绘制圆。
接下来,您可以使用以下代码将CircleItem添加到QGraphicsScene中:
```cpp
CircleItem *circle = new CircleItem(0, 0, 100, 100);
QGraphicsScene *scene = new QGraphicsScene;
scene->addItem(circle);
```
在上面的代码中,我们创建了一个CircleItem对象,并将其添加到QGraphicsScene中。
阅读全文