Создал свой Item:
class Cell: public QGraphicsItem
{
public:
Cell(QRectF &inRect, QColor &color);
QRectF boundingRect() const;
QPainterPath shape() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget);
private:
QRectF m_rect;
QColor m_color;
};
Как его использовать?
Ну то есть я могу сделать что-то вроде
QRectF myrect(0,0,40,30);
QColor mycolor(QColor::fromHsv(qrand() % 256, 255, 190));
Cell *myCell = new Cell(myrect, mycolor);
scene()->addItem(myCell);
Но выглядит это как-то неправильно. Где хранить массив айтемов? По логике ведь это надо делать в сцене. Чтобы потом можно было их удалять. Чтобы у сцены была функция addCell(Cell*) и всё такое.
Как делать правильно?