QPainterを使用して、ウィンドウにグラフィックを表示しています。残念ながら、関数が呼び出されるたびにpaintEvent()
、ウィンドウ全体がクリアされます。クリアせずに描画するにはどうすればよいですか?つまり、前のペイントイベントの内容をそのままにしておくにはどうすればよいですか?
Qt4を使用しています
QPainterを使用して、ウィンドウにグラフィックを表示しています。残念ながら、関数が呼び出されるたびにpaintEvent()
、ウィンドウ全体がクリアされます。クリアせずに描画するにはどうすればよいですか?つまり、前のペイントイベントの内容をそのままにしておくにはどうすればよいですか?
Qt4を使用しています
どちらの返信も Qt3 のみを対象としているため、ここでは Qt4 のソリューションを示します。電話する必要があります
setAttribute(Qt::WA_OpaquePaintEvent);
(コンストラクターなど) ドキュメントhereに従ってください。
セッターbackgroundMode
を使用して設定する必要があります。setBackgroundMode
列挙型はQt::NoBackground
あなたが探しているものです。
Qt3 では、 WidgetFlags 列挙型Qt::WNoAutoErase
からフラグを設定して、各ペイント イベントでウィンドウがクリアされないようにします。
このフラグをQWidget コンストラクターに渡すことで設定できます。