qt中如何画图,使用QPainter,提示QPainter is not active
如题,我只需要在窗体的一个指定区域内刷为黑色,我在程序中调用QPainter,提示QPainter is not active,难道QPainter只能在PaintEvent中才能调用吗。代码如下,请高手帮忙指点,我要的效果只是刷为黑色,用其他方法也行:
void MainWindow::initLogo()
{
/* brush a black background */
QPainter paint(this);
paint.setPen(QPen(Qt::black));
paint.setBrush(QBrush(Qt::black, Qt::SolidPattern));
paint.drawRect(10, 20, this->width() - 20, this->height() - 30);
.......
}