我正在使用图形视图框架绘制多边形。我用这个在场景中添加了一个多边形:
QGraphicsPolygonItem *poly = scene->addPolygon(QPolygonF(vector_of_QPointF));
poly->setPos(some_point);
但是我需要在图形项上实现一些自定义行为,例如选择、鼠标悬停指示器和其他类似的东西。所以我声明了一个继承QGraphicsPolygonItem的类:
#include <QGraphicsPolygonItem>
class GridHex : public QGraphicsPolygonItem
{
public:
GridHex(QGraphicsItem* parent = 0);
};
GridHex::GridHex(QGraphicsItem* parent) : QGraphicsPolygonItem(parent)
{
}
如您所见,到目前为止,该课程并没有做太多事情。但是不应该用我的 GridHex 类替换 QGraphicsPolygonItem 吗?这会引发“从 'QGraphicsPolygonItem*' 到 'GridHex*' 的无效转换”错误:
GridHex* poly = scene->addPolygon(QPolygonF(vector_of_QPointF));
我究竟做错了什么?