实现方式:绘制8*8的棋盘格,任意点击棋盘格中的空白格可以生成一个滑稽表情在里面
分析:
1、绘制网格线:(1)绘制行线第一行: paint.drawLine(startX,startY+0*gridLength,startX+8*gridWidth,startY+0*gridLength);
同理第二行:paint.drawLine(startX,startY+1*gridLength,startX+8*gridWidth,startY+1*gridLength);
依次类推:paint.drawLine(startX,startY+i*gridLength,startX+8*gridWidth,startY+i*gridLength);
(2)同理列线为:
paint.drawLine(startX+i*gridWidth,startY,startX+i*gridWidth,startY+8*gridLength);
2、绘制笑脸
首先获取鼠标全局坐标(event->x() , event->y) 判断是否在规定棋盘范围内。若成立则计算相应的棋盘坐标:
chessX = (event->x() - startX) / gridWidth
chessY = (event->y() - startY) / gridLength
确定棋盘之后进行绘画:
paint.drawPixmap(startX+chessX*gridWidth,startY&#