@raven-worx I think that it's the same rectan[i]/rectan.at(i) . I solved the problem,: QGraphicsRectItem *tempi = new QGraphicsRectItem; tempi->setRect(rectan.at(i)); draw_rectan.append(tempi); I think it was overwriting data