2010-12-03 4 views
7

Der folgende Code führt zu einem Bündel von Fehlern:QPainter nicht aktiv

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); 
} 

Die Fehler:

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

Wie kann ich diesen Fehler beheben?

+12

Das Problem könnte sein, dass Ihre Pixmap der Größe 0x0 – Colin

+1

@Colin Yup ist, dass es Danke war! Möchten Sie es als Antwort eingeben? – wrongusername

Antwort

10

Das Problem war, dass, wie Colin herausstellte, pix die Größe Null hatte.