抱歉,我之前给出的代码有误。QList 类确实没有 remove
方法。请改用 takeAt
方法来删除列表中的元素。以下是修改后的代码示例:
void WhiteBoard::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() & Qt::LeftButton) {
// 绘制画笔路径逻辑
update();
}
if (event->buttons() & Qt::RightButton) {
if (currentPathIndex >= 0 && currentPathIndex < paths.size()) {
// 删除当前路径
delete paths.takeAt(currentPathIndex);
delete pathPens.takeAt(currentPathIndex);
redoPaths.clear();
redopathPens.clear();
--currentPathIndex;
update();
}
}
}
通过使用 takeAt
方法,我们可以从列表中获取并删除指定索引处的元素。
再次为之前的错误造成困扰向你致以诚挚的歉意!如有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问