根据你提供的代码片段,可能是因为在WhiteBoard::mouseMoveEvent()
函数中,没有进行实时重绘。可以尝试添加update()
函数来触发重绘操作,以便在鼠标移动过程中实时显示画线效果。
请将以下修改后的代码尝试一下:
void WhiteBoard::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
// ...
update();
}
}
void WhiteBoard::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() & Qt::LeftButton) {
// ...
update();
}
}
通过添加update()
函数,每当鼠标按下或移动时都会触发窗口的重绘操作,从而实现实时画线效果。
内容由零声教学AI助手提供,问题来源于学员提问