From a9dc41cf804976fa62522e14559b5526cf0401cd Mon Sep 17 00:00:00 2001 From: Jesse Qu Date: Wed, 15 Jul 2026 11:27:08 +0800 Subject: [PATCH] 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 --- .../PropertyHandleImpl/IPropertyHandleImpl.h | 3 +++ include/graphicsItem/graphicsItemGroup.h | 22 +++++++++---------- include/graphicsItem/graphicsPolygonItem.h | 20 ++++++++--------- include/graphicsItem/graphicsRectItem.h | 14 ++++++------ 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/PropertyEditor/source/include/PropertyHandleImpl/IPropertyHandleImpl.h b/PropertyEditor/source/include/PropertyHandleImpl/IPropertyHandleImpl.h index 6f0a017..3612dfa 100644 --- a/PropertyEditor/source/include/PropertyHandleImpl/IPropertyHandleImpl.h +++ b/PropertyEditor/source/include/PropertyHandleImpl/IPropertyHandleImpl.h @@ -20,6 +20,9 @@ public: Enum, Object, }; +public: + virtual ~IPropertyHandleImpl() = default; + protected: IPropertyHandleImpl(QPropertyHandle* inHandle); virtual QQuickItem* createNameEditor(QQuickItem* inParent); diff --git a/include/graphicsItem/graphicsItemGroup.h b/include/graphicsItem/graphicsItemGroup.h index ae503f2..6ea12b2 100644 --- a/include/graphicsItem/graphicsItemGroup.h +++ b/include/graphicsItem/graphicsItemGroup.h @@ -11,13 +11,13 @@ public: GraphicsItemGroup(QGraphicsItem *parent = 0); virtual ~GraphicsItemGroup(); - void resize(int,double, double, const QPointF&); - void updateCoordinate(); + void resize(int,double, double, const QPointF&) override; + void updateCoordinate() override; - void createOperationCopy(); - void removeOperationCopy(); - void moveOperationCopy(const QPointF&); - void rotateOperationCopy(const double&); + void createOperationCopy() override; + void removeOperationCopy() override; + void moveOperationCopy(const QPointF&) override; + void rotateOperationCopy(const double&) override; QJsonObject serialize() const override; static QGraphicsItem *createFromJson(const QJsonObject &obj); @@ -25,11 +25,11 @@ public: //QList getItems() {return m_listItem;} protected: - virtual QPainterPath shape(); - virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); - virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent*); - virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&); - virtual void syncRotationDataFromParent(const double&); + QPainterPath shape() override; + void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; + void contextMenuEvent(QGraphicsSceneContextMenuEvent*) override; + QVariant itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&) override; + void syncRotationDataFromParent(const double&) override; private: QRectF m_lastBoudingRect; //记录上一时刻的boundingRect diff --git a/include/graphicsItem/graphicsPolygonItem.h b/include/graphicsItem/graphicsPolygonItem.h index 121caa8..309eecd 100644 --- a/include/graphicsItem/graphicsPolygonItem.h +++ b/include/graphicsItem/graphicsPolygonItem.h @@ -11,24 +11,24 @@ public: GraphicPolygonItem(QGraphicsItem *parent = 0); virtual ~GraphicPolygonItem(); - void resize(int,double, double, const QPointF&); - void updateCoordinate(); - void move(const QPointF&); + void resize(int,double, double, const QPointF&) override; + void updateCoordinate() override; + void move(const QPointF&) override; QJsonObject serialize() const override; static QGraphicsItem *createFromJson(const QJsonObject &obj); - void editShape(int, const QPointF&); + void editShape(int, const QPointF&) override; - void addPoint(const QPointF&); - bool endDrawing(); + void addPoint(const QPointF&) override; + bool endDrawing() override; QPolygonF getPoints(void) { return m_points; } protected: - virtual QPainterPath shape(); - virtual QRectF boundingRect(); - virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); + QPainterPath shape() override; + QRectF boundingRect(); + void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; private: - virtual void updateHandles(); + void updateHandles() override; QPolygonF m_lastPoints; //记录上一时刻的点集数据,用于缩放等操作 QPolygonF m_points; diff --git a/include/graphicsItem/graphicsRectItem.h b/include/graphicsItem/graphicsRectItem.h index 8b256fe..9b2a774 100644 --- a/include/graphicsItem/graphicsRectItem.h +++ b/include/graphicsItem/graphicsRectItem.h @@ -11,24 +11,24 @@ public: GraphicsRectItem(const QRect &rect, bool isRound = false, QGraphicsItem *parent = 0); virtual ~GraphicsRectItem(); - void resize(int,double, double, const QPointF&); - void updateCoordinate(); + void resize(int,double, double, const QPointF&) override; + void updateCoordinate() override; bool isRound() const { return m_bIsRound; } double ratioX() const { return m_dRatioX; } double ratioY() const { return m_dRatioY; } void setRatioX(double rx) { m_dRatioX = rx; } void setRatioY(double ry) { m_dRatioY = ry; } - void move(const QPointF&); + void move(const QPointF&) override; QJsonObject serialize() const override; static QGraphicsItem *createFromJson(const QJsonObject &obj); - void editShape(int, const QPointF&); + void editShape(int, const QPointF&) override; protected: - virtual QPainterPath shape(); - virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); + QPainterPath shape() override; + void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; private: - virtual void updateHandles(); + void updateHandles() override; QRectF m_lastBoudingRect; //记录上一时刻的boundingRect bool m_bIsRound; //是否为圆角矩形