スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

さらにQPainterについて

前項QPainter::begin: Widget painting can only begin as a result of a paintEventで、ウィジェットにQPainterで描画を行うにはそのウィジェットのpaintEvent()内で行わなければならないと書いたが、描画デバイスがウィジェットでない場合はこの限りでない。

O'Reillyの「入門Qt4プログラミング」第5章では、あらかじめPixmapを生成しておき、このPixmapに対してQPainterで描画を行っている。この場合は対象がウィジェットではないので、paintEvent()内に限らず任意のタイミングで描画操作を行ってかまわない。そして、最終的な描画対象となるウィジェットのpaintEvent()内で、QPainterのdrawPixmap()メソッドを使用して既に生成済みのPixmapをウィジェットにコピーすればいいわけである。

この方法を応用すれば実質的な描画のタイミングをpaintEvent()と切り離せるので、覚えておく価値はあるだろう。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

GM3D

Author:GM3D
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。