QPainter預設隻能在paintEvent裡面調用,但是:
在其他事件中繪制窗體,提示資訊如下:
QPainter::begin: Paint device returned engine == 0, type: 1
繪制操作應該在paintEvent中完成.
有一個屬性值,在構造函數中設定可以在paintEvent()之外進行繪制:
this->setAttribute(Qt::WA_PaintOutsidePaintEvent);
但是隻支援X11,對于 Windows, Mac OS X or Embedded Linux。。。。不予支援
void xx::paintEvent(QPaintEvent *p)
{
painter.begin(this);
painter.drawImage(image);
painter.end();
}
http://www.cppblog.com/lauer3912/archive/2011/08/30/154746.html