继承 QObject、 QGraphicsItem在指定位置指定颜色显示字
时间: 2023-12-20 22:06:54 浏览: 98
你可以通过在你继承自QGraphicsItem的子类中重新实现paint()函数,使用QPainter绘制文字并指定颜色。在paint()函数中,你可以使用QPainter的setPen()函数设置绘制文字的颜色。具体代码如下:
```cpp
class MyItem : public QObject, public QGraphicsItem
{
public:
MyItem(QObject *parent = nullptr) : QObject(parent), QGraphicsItem() {}
QRectF boundingRect() const override
{
return QRectF(-50, -50, 100, 100);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
{
painter->setPen(QColor(Qt::red)); // 设置绘制文字的颜色
painter->drawText(boundingRect(), Qt::AlignCenter, "Hello, world!"); // 绘制文字
}
};
```
在你的QGraphicsScene中创建一个该子类的实例,并将其添加到场景中。你可以使用setPos()函数来设置该子类在场景中的位置。这样,你就可以将继承自QObject和QGraphicsItem的类在指定位置指定颜色显示字了。
阅读全文