fix: add missing override keywords and virtual destructor to resolve all compiler warnings

- Mark 27 overriding functions with 'override' across GraphicsItemGroup,
    GraphicsRectItem, and GraphicPolygonItem headers
  - Add virtual destructor to IPropertyHandleImpl (fixes -Wdelete-abstract-non-virtual-dtor)
  - Build is now 0 warnings, 0 errors
This commit is contained in:
Jesse Qu 2026-07-15 11:27:08 +08:00
parent 3ad8b211e6
commit a9dc41cf80
4 changed files with 31 additions and 28 deletions

View File

@ -20,6 +20,9 @@ public:
Enum, Enum,
Object, Object,
}; };
public:
virtual ~IPropertyHandleImpl() = default;
protected: protected:
IPropertyHandleImpl(QPropertyHandle* inHandle); IPropertyHandleImpl(QPropertyHandle* inHandle);
virtual QQuickItem* createNameEditor(QQuickItem* inParent); virtual QQuickItem* createNameEditor(QQuickItem* inParent);

View File

@ -11,13 +11,13 @@ public:
GraphicsItemGroup(QGraphicsItem *parent = 0); GraphicsItemGroup(QGraphicsItem *parent = 0);
virtual ~GraphicsItemGroup(); virtual ~GraphicsItemGroup();
void resize(int,double, double, const QPointF&); void resize(int,double, double, const QPointF&) override;
void updateCoordinate(); void updateCoordinate() override;
void createOperationCopy(); void createOperationCopy() override;
void removeOperationCopy(); void removeOperationCopy() override;
void moveOperationCopy(const QPointF&); void moveOperationCopy(const QPointF&) override;
void rotateOperationCopy(const double&); void rotateOperationCopy(const double&) override;
QJsonObject serialize() const override; QJsonObject serialize() const override;
static QGraphicsItem *createFromJson(const QJsonObject &obj); static QGraphicsItem *createFromJson(const QJsonObject &obj);
@ -25,11 +25,11 @@ public:
//QList<QGraphicsItem*> getItems() {return m_listItem;} //QList<QGraphicsItem*> getItems() {return m_listItem;}
protected: protected:
virtual QPainterPath shape(); QPainterPath shape() override;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent*); void contextMenuEvent(QGraphicsSceneContextMenuEvent*) override;
virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&); QVariant itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&) override;
virtual void syncRotationDataFromParent(const double&); void syncRotationDataFromParent(const double&) override;
private: private:
QRectF m_lastBoudingRect; //记录上一时刻的boundingRect QRectF m_lastBoudingRect; //记录上一时刻的boundingRect

View File

@ -11,24 +11,24 @@ public:
GraphicPolygonItem(QGraphicsItem *parent = 0); GraphicPolygonItem(QGraphicsItem *parent = 0);
virtual ~GraphicPolygonItem(); virtual ~GraphicPolygonItem();
void resize(int,double, double, const QPointF&); void resize(int,double, double, const QPointF&) override;
void updateCoordinate(); void updateCoordinate() override;
void move(const QPointF&); void move(const QPointF&) override;
QJsonObject serialize() const override; QJsonObject serialize() const override;
static QGraphicsItem *createFromJson(const QJsonObject &obj); static QGraphicsItem *createFromJson(const QJsonObject &obj);
void editShape(int, const QPointF&); void editShape(int, const QPointF&) override;
void addPoint(const QPointF&); void addPoint(const QPointF&) override;
bool endDrawing(); bool endDrawing() override;
QPolygonF getPoints(void) { return m_points; } QPolygonF getPoints(void) { return m_points; }
protected: protected:
virtual QPainterPath shape(); QPainterPath shape() override;
virtual QRectF boundingRect(); QRectF boundingRect();
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
private: private:
virtual void updateHandles(); void updateHandles() override;
QPolygonF m_lastPoints; //记录上一时刻的点集数据,用于缩放等操作 QPolygonF m_lastPoints; //记录上一时刻的点集数据,用于缩放等操作
QPolygonF m_points; QPolygonF m_points;

View File

@ -11,24 +11,24 @@ public:
GraphicsRectItem(const QRect &rect, bool isRound = false, QGraphicsItem *parent = 0); GraphicsRectItem(const QRect &rect, bool isRound = false, QGraphicsItem *parent = 0);
virtual ~GraphicsRectItem(); virtual ~GraphicsRectItem();
void resize(int,double, double, const QPointF&); void resize(int,double, double, const QPointF&) override;
void updateCoordinate(); void updateCoordinate() override;
bool isRound() const { return m_bIsRound; } bool isRound() const { return m_bIsRound; }
double ratioX() const { return m_dRatioX; } double ratioX() const { return m_dRatioX; }
double ratioY() const { return m_dRatioY; } double ratioY() const { return m_dRatioY; }
void setRatioX(double rx) { m_dRatioX = rx; } void setRatioX(double rx) { m_dRatioX = rx; }
void setRatioY(double ry) { m_dRatioY = ry; } void setRatioY(double ry) { m_dRatioY = ry; }
void move(const QPointF&); void move(const QPointF&) override;
QJsonObject serialize() const override; QJsonObject serialize() const override;
static QGraphicsItem *createFromJson(const QJsonObject &obj); static QGraphicsItem *createFromJson(const QJsonObject &obj);
void editShape(int, const QPointF&); void editShape(int, const QPointF&) override;
protected: protected:
virtual QPainterPath shape(); QPainterPath shape() override;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
private: private:
virtual void updateHandles(); void updateHandles() override;
QRectF m_lastBoudingRect; //记录上一时刻的boundingRect QRectF m_lastBoudingRect; //记录上一时刻的boundingRect
bool m_bIsRound; //是否为圆角矩形 bool m_bIsRound; //是否为圆角矩形