我的代码如下:
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()函数给我错误。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
您需要添加QGraphicsSimpleTextItem
包含文件:
#include <QGraphicsSimpleTextItem>
你必须在某个地方有一个前向声明,以便指针可以在你的包含文件中声明,但实际的类定义不包括在内,所以编译器不知道如何处理你的text
变量。