我写了个五子棋程序,棋盘用paintEvent画好了。现在想实现鼠标点击棋盘的某个地方,就在那个地方画上棋子。但是运行的时候出现以下错误:
[size=; font-size:10pt,10pt][font='Courier']QPainter::begin: Paint device returned engine == 0, type: 1
[size=; font-size:10pt,10pt][font='Courier']
[size=; font-size:10pt,10pt][font='Courier']我的mouseEvent代码如下:
[size=; font-size:10pt,10pt][font='Courier']void ChessBoard::mousePressEvent(QMouseEvent *event) { if (event->buttons() & Qt::LeftButton) { QPoint pressedPoint = QPoint(event->x(), event->y()); QPoint point = nearestPoint(pressedPoint); QPainter painter(this); if ((pressedPoint - point).manhattanLength() <= ZoomFactor /4) { painter.setBrush(Qt::black); painter.drawEllipse(point, ZoomFactor / 2, ZoomFactor / 2); } }}
想请问大家这个问题如何解决。多谢!