QGraphicsSimpleTextItem"无效使用不完整类型"

时间:2017-03-07 21:19:28

标签: qt qgraphicsview qgraphicsscene qgraphicsitem qgraphicstextitem

我的代码如下:

pointerwidget.h

QGraphicsSimpleTextItem *text;

pointerwidget.cpp

void PointerWidget::placeNumbers(float spacing, int currentTickNumber)
{
    float label = spacing/scaleFactor;
    text = scene->addSimpleText(QString::number(label),QFont("Comic Sans MS", 12, QFont::Bold));
    text->setPos(currentTickNumber*spacing,30);
}

我读到的任何地方都说使用setPos(x,y)来定位文本项。这是QGraphicsItem的一个功能。我得到错误"无效使用不完整类型'类QGraphicsSimpleTextItem'"。为了进一步证实出现问题,Qt Creator并没有认识到"或尝试自动完成"函数调用。

如果它注释掉了给我错误的行,那么我会得到一堆位于(0,0)的简单文本。重点是,不是addSimpleText()函数给我错误。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要添加QGraphicsSimpleTextItem包含文件:

#include <QGraphicsSimpleTextItem>

你必须在某个地方有一个前向声明,以便指针可以在你的包含文件中声明,但实际的类定义不包括在内,所以编译器不知道如何处理你的text变量。