3

uint8_t バッファに画像があり、QImage をラッパーとして使用して画像にテキストを書き込もうとしています。問題なく drawLine() を使用しましたが、drawText() はプログラムをクラッシュさせます。以下のコードは、各画像が関数を反復するときにテキストを書き込むブースト スレッドの一部です。私が気付いていない Qt のバグはありますか?

uint8_t *frameBuffer; // this contains image pixels
QImage img(frameBuffer, sizeX, m_sizeY, QImage::Format_RGB888);

QPainter p(&img);

p.setPen(QPen(Qt::green));
p.setFont(QFont("Times", 10, QFont::Bold));
p.drawLine(img.rect().bottomLeft().x(), img.rect().bottomLeft().y()-10,
           img.rect().bottomRight().x(), img.rect().bottomRight().y()-10);  //works!

p.drawText(img.rect(), Qt::AlignCenter, "Help");  //crashes program
4

2 に答える 2

5

私のプロジェクトは QCoreApplication に設定されていました (GUI はありませんでした)。それを QApplication に変更するとうまくいきました!

于 2012-06-04T19:08:39.810 に答える