如何使用QPainter垂直翻转QGraphicsItem?

时间:2019-05-28 06:53:18

标签: c++ qt qgraphicsitem qpainter

我试图使用以下代码垂直翻转QGraphicsTextItem,但是当我在QPainter中使用Scale或transform函数翻转GraphicsItem时,文本消失了。

#include <QGraphicsRectItem>
#include <QPainter>


class QTextItem : public QGraphicsRectItem {
public:
    QPointF point;
    QString text;
    QTextItem(qreal x, qreal y,QString txt, qreal width=50, qreal height=50, QGraphicsItem * parent = 0) :
        QGraphicsRectItem(x, y, width, height, parent) {
        point = QPointF(x,y);
        text = txt;

    }


protected:
    void paint(QPainter * painter, const QStyleOptionGraphicsItem*, QWidget*) {
        painter->setPen(QPen());
        painter->setFont(QFont("Arial", 5));
        painter->setBrush(brush());
        //painter->scale(1,-1);//Text disappears with this command
       //painter->rotate(30);//Text disappears if I use this command
        painter->drawText(point, text);
    }
};

0 个答案:

没有答案