我是Qt初学者。
所以我的MainWindow有一个QSlider和一个QPixmap。我重新定义了paintEvent( QPaintEvent* event )和
connect( slider, SIGNAL(valueChanged(int)), this, SLOT(centerChange(int)) );有一个插槽:
void MainWindow::centerChange(int value)
{
center = value;
update();
}因此,我想要重新绘制的Pixmap,只有当滑块的价值被改变。但是我注意到,每次我在滑块上做鼠标输入或鼠标输出时,都会触发重绘。为什么会发生这种事?
谢谢。
发布于 2014-03-06 10:39:42
油漆事件可能在任何时候由基础Qt绘图系统触发。您不应假设只有您才能触发画图事件。您需要更改应用程序中的逻辑。
发布于 2014-03-06 10:39:31
文档他说
画图事件是重新绘制小部件的全部或部分的请求。发生这种情况可能有以下原因之一:
(强调我的)。具体来说,底层操作系统可以在任何时候触发重绘事件。
发布于 2014-03-06 10:59:24
根据您的需求,不要重新实现paintEvent。当滑块值改变时,只需进行QPixmap更新即可。
https://stackoverflow.com/questions/22221824
复制相似问题