QGraphicsSceneTextItem删除旧文本

时间:2015-06-04 20:17:33

标签: qt qgraphicsitem qgraphicstextitem

我想要做的是删除或更新我添加到QGraphicsSimpleTextItem的{​​{1}}的文本值,但是由于某种原因,文本不会更新,但会在项目中累积created.this就是我现在所做的:

QGraphicsItem

1 个答案:

答案 0 :(得分:0)

也许您只需要从代码中删除两行:

QString tx = mydiag->getname();
// txt = new QGraphicsSimpleTextItem;
txt->setText(tx);
// txt->setParentItem(this);

所以你不会一直创造新的物品。

但在此之后你可以再删除一行:

// QString tx = mydiag->getname();
// txt = new QGraphicsSimpleTextItem;
txt->setText( mydiag->getname() );
// txt->setParentItem(this);

你是否在类构造函数中初始化txt?如果是,那么之前的代码就可以了,但如果你没有,你可能想要使用它:

if ( txt == nullptr )
{
    QString tx = mydiag->getname();
    txt = new QGraphicsSimpleTextItem;
    txt->setText(tx);
    // txt->setParentItem(this);
}