2009-06-17 24 views
0

私のプログラムにメソッドpaintEventを書き換えて変更しようとしています。Qt - QPainterを作成する

void MainWindow::paintEvent(QPaintEvent *event) 
{ 
    QRegion reg = this->bgPixmapHandle->rect(); 
    QPainter painter(this); 

    painter.setClipRegion(reg); 
    painter.drawImage(bgPixmapHandle->rect(), bgPixmapHandle); 
    painter.end(); 
} 

ここで私はbgイメージを変更しようとしています。しかし、私はライン上でエラーが発生しました:QPainter painter(this);

Error: Variable 'QPainter painter' is initialized, though the type is incomplete

+4

この場合、painter.end()は必要ないこともわかっているはずです。ペインタが範囲外になると、デストラクタは自動的にこれを行います。 –

答えて

7

QPainterヘッダファイルを含みます。 QPainterクラスは、その翻訳単位に含めるQtヘッダーの1つで宣言されているだけです。

1

あなたは含まれていますか? Qtはクラスの前方宣言の大きなファンであり、そのような謎めいたエラーを引き起こします。

2
#include <QPainter> 
関連する問題