【发布时间】:2012-04-24 17:15:25
【问题描述】:
可能重复:
What leads to incomplete types? (QGraphicsItem: Source or target has incomplete type)
我从这个问题开始:What leads to incomplete types? (QGraphicsItem: Source or target has incomplete type)
如上所述,我收到以下错误(部分是我自己的翻译):
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);
}
它没有编译,给出如上的错误。但是,使用 item->setCursor(Qt::OpenHandCursor); 在 main 方法中设置光标就可以了。该错误似乎在其他 QGraphicsItems 中持续存在(至少我测试了 QGraphicsRectItem)。
我完全糊涂了,不知道接下来要检查什么。上面的代码是否适用于其他机器/设置?我还可以测试什么来获取更多信息?
谢谢, 路易丝
【问题讨论】:
-
+1 用于创建一个问题仍然存在的简单示例
-
...我已经在您之前链接到的问题中发布了the answer。
-
是的,在那里 +1 ;) 以为你可以将它迁移到这里,但 Castilho 已经回答了,而且非常具体。
标签: c++ qt qgraphicsitem incomplete-type