Thank You. That's true. In fact api doc doesn't say it in explicit way. I was always using QPainter in this way:

Mostly, all this is done inside a paint event. (In fact, 99% of all QPainter use is in a reimplementation of QWidget::paintEvent(), and the painter is heavily optimized for such use.) Here's one very simple example:
Qt Code:
  1. void SimpleExampleWidget::paintEvent()
  2. {
  3. QPainter paint( this );
  4. paint.setPen( Qt::blue );
  5. paint.drawText( rect(), AlignCenter, "The Text" );
  6. }
To copy to clipboard, switch view to plain text mode 
So now I realized that it MUST be used in such way.