我想添加一个 QGraphicsTextItem 并且我想更改背景的颜色。我的意思是我希望包含文本的 boundingRect 具有特定颜色。一种方法是创建一个 QGraphicsRectItem 并将其放在文本的背面,但我想知道是否有另一种方法可以做到这一点?

谢谢你的帮助!

最佳答案

我会将 QGraphicsTextItem 子类化,例如:

class QGraphicsTextItemWithBackgroundColorOfMyChoosing : public QGraphicsTextItem
{
    public:
        QGraphicsTextItemWithBackgroundColorOfMyChoosing(const QString &text) :
            QGraphicsTextItem(text) { }

        void paint( QPainter *painter, const QStyleOptionGraphicsItem *o, QWidget *w) {
            painter->setBrush(Qt::red);
            painter->drawRect(boundingRect());
            QGraphicsTextItem::paint(painter, o, w);
        }
};

关于qt - 如何更改 QGraphicsTextItem 的背景?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15684277/

10-10 22:21