그래픽 뷰 프레임 워크를 사용하여 다각형을 그립니다. 나는이와 함께 현장에 다각형을 추가 :Qt - 하위 클래스로의 변환이 올바르지 않습니다.
QGraphicsPolygonItem *poly = scene->addPolygon(QPolygonF(vector_of_QPointF));
poly->setPos(some_point);
하지만 그래픽 항목에 선택 표시를 통해 마우스, 및 기타 유사한 것들과 같은 일부 사용자 지정 동작을 구현해야합니다. 당신이 볼 수있는
#include <QGraphicsPolygonItem>
class GridHex : public QGraphicsPolygonItem
{
public:
GridHex(QGraphicsItem* parent = 0);
};
GridHex::GridHex(QGraphicsItem* parent) : QGraphicsPolygonItem(parent)
{
}
는 지금까지 그 클래스와 함께 많은 일을하지 : 그래서 QGraphicsPolygonItem을 상속하는 클래스를 선언했다. 하지만 QGraphicsPolygonItem을 GridHex 클래스 작업으로 대체해서는 안됩니까? 이 오류 " 'GridHex *'에 'QGraphicsPolygonItem *'에서 유효하지 않은 변환"는 던지고있다 : 내가 잘못 뭐하는 거지
GridHex* poly = scene->addPolygon(QPolygonF(vector_of_QPointF));
?
아 맞아, 내가 여기서 모든 일을 잘못하고있는 것 같아. 나는 아직도 프레임 워크에 익숙해 져있다. 전에 QGraphicsScene을 서브 클래 싱하는 것을 생각하지 않았지만, 내가해야 할 일이 그 것이다. –
그래서 장면에 사용자 지정 항목을 추가하려면 QGraphicsScene을 하위 클래스 화하여 사용자 지정 항목을 받아 들일 수 있어야합니까? 내 맞춤 항목을 추가 할 수 있도록 QGraphicsScene 서브 클래스를 어떻게 설정해야합니까? –