• 4210阅读
  • 2回复

如何实现鼠标点击画图 [复制链接]

上一主题 下一主题
离线googleboyjay
 
只看楼主 倒序阅读 楼主  发表于: 2011-06-18
我写了个五子棋程序,棋盘用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);        }     }}


想请问大家这个问题如何解决。多谢!
离线dbzhang800

只看该作者 1楼 发表于: 2011-06-18
所有的东西都在 paintEvent 中画,不止是你的棋盘
离线googleboyjay
只看该作者 2楼 发表于: 2011-06-19
回 1楼(dbzhang800) 的帖子
多谢了! 问题解决了!
快速回复
限100 字节
 
上一个 下一个