我的代码如下:
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()函数给了我这个错误。
有什么想法吗?
谢谢!
发布于 2017-03-08 05:23:00
您需要包含QGraphicsSimpleTextItem
包含文件:
#include <QGraphicsSimpleTextItem>
必须在某个地方对类进行正向声明,这样才能在包含文件中声明指针,但不包括实际的类定义,因此编译器不知道如何处理text
变量。
https://stackoverflow.com/questions/42658551
复制相似问题