저는 Qt 초보자입니다.Qt paintEvent()가 비정상적으로 트리거 됨
그래서 메인 윈도우에는 QSlider
과 QPixmap
이 있습니다. 나는 슬롯으로 paintEvent(QPaintEvent* event)
및
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(centerChange(int)));
을 재정의 :
void MainWindow::centerChange(int value)
{
center = value;
update();
}
그래서 내가 repainte 픽스맵을 슬라이더의 값이 변경되는 경우에만 싶었다. 그러나 슬라이더에 마우스를 올리거나 마우스를 놓을 때마다 다시 칠해집니다. 왜 이런 일이 일어나는거야?
감사합니다.
확인. 하지만 더 나은 성능을 얻기 위해 페인트를 제한하고 싶다면. 필요하지 않습니까? 아니면 사람들이 그렇게하지 않습니까? –
_하지만 repaint를 제한하고 싶다면 Qt 드로잉 시스템은 그리 좋지는 않지만 (물론 이상적인 것은 아닙니다.) 그렇게하지 마십시오. 리눅스에서는 "래스터 (raster)"그래픽 엔진을 사용할 수 있습니다. 네이티브보다 훨씬 빠릅니다. – DmitryARN
확인. 귀하의 답변에 감사드립니다. –