我从这个问题开始:是什么导致类型不完整?(QGraphicsItem:源或目标的类型不完整)
如那里所述,我收到以下错误(部分是我自己的翻译):
C664:无法将参数 1 从“Qt::CursorShape”转换为“const QCursor &”。源或目标的类型不完整。
在试图找出该项目可能不完整的原因时,我将其剥离为仍然显示错误的最小测试用例。奇怪的是:它绝对是最小的......
标题:
#include <QGraphicsPixmapItem>
class PhotoItem : public QGraphicsPixmapItem
{
public:
PhotoItem();
void someMethod();
protected:
};
执行:
#include "photoitem.h"
PhotoItem::PhotoItem() : QGraphicsPixmapItem()
{
QPixmap pxm(80, 80);
pxm.fill(Qt::cyan);
setPixmap( pxm );
}
void PhotoItem::someMethod()
{
setCursor(Qt::OpenHandCursor);
}
它不编译,给出如上的错误。但是,在 main 方法中设置光标item->setCursor(Qt::OpenHandCursor);
就可以了。该错误似乎在其他 QGraphicsItems 中持续存在(至少我测试了 QGraphicsRectItem)。
我完全糊涂了,不知道接下来要检查什么。上面的代码是否适用于其他机器/设置?我还可以测试什么来获取更多信息?
谢谢,路易丝