As your application is trapped in the for loop, the QLabel has no chance to execute its paint code to repaint itself with the new pixmap. You will have to use a QTimer, which repeatedly calls the slot, which no longer contains a loop, but instead just sets the next pixmap on the label.