如何在QGraphicsScene中更改文本大小?

时间:2016-12-09 15:53:46

标签: c++ qt

您好我想用QGraphicsScene缩小文字字体。我试试这个:

QFont * f = new QFont;
f->setPointSize(7);
tt->setFont(f);

然而,我明白了:

  

错误:C2664:'void QGraphicsTextItem :: setFont(const QFont&)':   不能将参数1从'QFont *'转换为'const QFont&'原因:   不能从'QFont *'转换为'const QFont'没有构造函数可以   采取源类型,或构造函数重载决议是模糊的

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您需要解除指针以获取对象。然后setFont可以使用此对象:

tt->setFont(*f);

请务必明确delete f。如果您有权访问C ++ 11,我建议使用std::unique_ptr而不是new的原始指针。

更好的是,如果您不需要在范围之外使用f,那么只需创建一个本地对象:

QFont f;
f->setPointSize(7);
tt->setFont(f);