2010-12-03 5 views
7

Les résultats de code suivant dans un tas d'erreurs:QPainter non actifs

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

Les erreurs:

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

Comment puis-je résoudre ce problème?

+12

Le problème peut être que votre pixmap est de taille 0x0 – Colin

+1

@Colin yup qui était-ce merci! Voulez-vous essayer de l'entrer comme réponse? – wrongusername

Répondre

10

Le problème était que, comme l'a souligné Colin, pix était de taille zéro.