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,
Object,
};
public:
virtual ~IPropertyHandleImpl() = default;
protected:
IPropertyHandleImpl(QPropertyHandle* inHandle);
virtual QQuickItem* createNameEditor(QQuickItem* inParent);

View File

@ -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<QGraphicsItem*> 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

View File

@ -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;

View File

@ -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; //是否为圆角矩形