I click it, nothing happens.
It means the drawing code is not called.
And its not called because the code in not in a paintEvent().
Subclass QLabel and override ite paintEvent(), and put your specialized drawing code there.

QWidget has an update() function. I would've expected QPixmap, or QLabel to have this function
QLabel does.
Read about the principals of OOP, and inheritance.

Why do you use Qt3?
Do you have a special restriction to use Qt3 only?