문제

QPainter를 사용하여 창에 그래픽을 얻습니다. 불행히도 매번 paintEvent() 함수가 호출되고 전체 창이 지워집니다. 청소하지 않고 어떻게 그릴 수 있습니까? 즉, 이전 페인트 이벤트의 물건을 손길이 닿지 않는 이유는 무엇입니까?

QT4를 사용하고 있습니다

도움이 되었습니까?

해결책

당신은 설정해야합니다 backgroundMode 사용함으로써 setBackgroundMode 세터. 그만큼 Qt::NoBackground 열거는 당신이 찾고있는 것입니다.

다른 팁

두 답변 모두 QT3 전용이므로 QT4에 대한 솔루션은 다음과 같습니다. 전화해야합니다

setAttribute(Qt::WA_OpaquePaintEvent);

(예 : 생성자에서) 문서 다음 여기.

QT3에서 Qt::WNoAutoErase 깃발 위젯 플래그 열거 각 페인트 이벤트에서 창이 지워지지 않도록하십시오.

이 플래그를 전달하여 설정할 수 있습니다. QWIDGET 생성자.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top