QPainter未激活

10
下面的代码会导致一堆错误:
void MainWindow::displayBoard()
{
    QPixmap pix(0,0);
    pix.fill(Qt::white);
    QPainter painter(&pix);
    painter.setBrush(Qt::black);
    for(int row = 0; row < 8; row++)
        for(int col = 0; col < 8; col++)
            painter.drawRect(row * 10, col * 10, 10, 10);
    ui->label->setPixmap(pix);
}

错误:

QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setBrush: Painter not active
QPainter::drawRects: Painter not active

我该如何解决这个错误?


13
可能的问题是您的像素图大小为0x0。 - Colin
1
@Colin,没错就是这个,谢谢!你想试着把它作为答案输入吗? - wrongusername
1个回答

13
问题是,正如Colin所指出的那样,pix的大小为零。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接