Переопределение класса QGraphicsTextItem

Переопределил класс QGraphicsTextItem и все нужные мне методы. При добавлении текста на сцену:
- текст добавляется
- нет курсора
- не выделяется
- не редактируется
(на фото этот текст вверху)
Но внизу в позиции 0,0 этот текст дублируется, у этого текста:
- есть курсор
- он выделяется
- он редактируется (и после чего меняется верхний текст)
В приложении у меня уже есть класс, с помощью которого можно изменять размер и перемещать QGraphicsItem. С помощью которого я изменил размер и увидел нижний текст.
Я пробовал setPos() смещается верхний текст. Необходимо сделать, чтобы верхний текст редактировался у него был курсор, а нижний убрать.
Мой вопрос. В чем проблема? Как исправить?
Основной код класса.
Конструктор класса.
TextFigure::TextFigure(const QRectF rect, const QString text, QFont font, QPen pen, QGraphicsTextItem *parent) : QGraphicsTextItem(parent)
{
gRect= rect;
this->text= text;
this->font= font;
this->pen= pen;
this->penWidth= pen.widthF();
setFont(font);
setDefaultTextColor(pen.color());
setRect(gRect);
setBoundingRect();
setPos(0,0); // влияет на верхний текст, но он на месте
QGraphicsTextItem::setAcceptHoverEvents(true);
setTextInteractionFlags(Qt::TextEditorInteraction);
QGraphicsTextItem::setFlags( QGraphicsTextItem::ItemIsSelectable
| QGraphicsTextItem::ItemSendsGeometryChanges
| QGraphicsItem::ItemIsFocusable
);
thisItem= this;
}
Переопределенный метод Paint.
QGraphicsTextItem::paint(painter, option, widget);
painter->save();
painter->setPen(pen.color());
painter->setFont(font);
if (isSelected())
{
painter->setBrush(Qt::SolidPattern);
painter->setBrush(QColor(240, 240, 240, 60));
}
painter->drawText( thisItem->boundingRect() ,this->text);
painter->setRenderHint(QPainter::Antialiasing, true);
QString text = toPlainText();
this->text= text;
// updateFontInfo();
// setBoundingRect();
painter->restore();