Хочу определить свой класс Rectangle в Qt

Изначально я пользовался классом самого Qt - QGraphicsRectItem. Установил параметры, цвет, поставил его на сцену. Все получилось.

QGraphicsScene *scene = new QGraphicsScene(0,0,1800,800,this);
  scene->addRect(scene->sceneRect());
  setScene(scene);

QGraphicsRectItem *rect = new QGraphicsRectItem(0,250,400,200);
  rect->setPen(QPen(Qt::red,8,Qt::SolidLine,Qt::RoundCap,Qt::RoundJoin));
  rect->setBrush(QBrush(Qt::cyan,Qt::SolidPattern));

scene->addItem(rect);

Потом я захотел создать свой собственный QGraphicsRectItem: класс Rectangle

class Rectangle : public QGraphicsItem
{
private:
    qreal x,y,width,height;
    QGraphicsItem *parent;
    QPen m_pen;
    QBrush m_brush;
public:
    Rectangle();
    Rectangle(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = nullptr);
    ~Rectangle();
    

protected:
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); //Метод отрисовки
};

Однако у меня так и не получилось создать класс так, чтобы все работало так как должно. Задача: Как в этот класс добавить функционал QGraphicsRectItem, чтобы все работало и вызывалось должным образом(в том числе метод setPos)?


Ответы (0 шт):