2013-04-24 12 views
6

イメージのいくつかの点をペイントしようとしていますが、なぜ動作しないのかわかりません。私はQImageを定義しており、いくつかの点を修正したい。QtPainterエラーペイントデバイスが返されたエンジン== 0、タイプ3、ペインタがアクティブでない

QImage *cou= new QImage(height,largeur,QImage::Format_Mono); 
    cou->fill(1); 
    QPainter *fig=new QPainter (cou); 
    for (i=0;i<size_;i++) 
    { 
     fig-> drawPoint(floor(propa[i]),nbmax[i]); 
    } 

私は、コードを実行すると、私は

QPainter::begin: Paint device returned engine == 0, type: 3 

を取得し、次の行に:

QPainter::drawPoints: Painter not active 
+1

の出ていること
画像の原因は、あなたがチェックしましたか? http://qt-project.org/doc/qt-4.8/qimage.html#isNull – cmannett85

+0

また、 'cou'、' qDebug()のサイズを確認してください。<< cou->サイズ(); ' – lucasmrod

答えて

19
QPainter::begin: Paint device returned engine == 0, type: 3 

エラーがペイントしようとしている画像であることを意味しますヌル画像。これを確認するにはisNullcouに入力してください。 nullの画像が返された場合、画像が構築されている場合はnullが間違っheightlargeurのparamsであってもよいし、あるいはあなたがメモリ

2
QPaintEngine* eng = cou->painterEngine(); 
if(eng) { 
// create QPainter ... 
} 
+4

おそらくあなたの答えにいくつかの説明がありますこのページのOPや今後の訪問者に役立つ? –

関連する問題