首页 > 其他 > 详细

Qt版本中国象棋开发(二)

时间:2017-02-02 16:32:45      阅读:253      评论:0      收藏:0      [点我收藏+]

实现功能:棋盘绘制

核心函数:

void paintEvent(QPaintEvent *);    //QWidget自带的虚函数,重写后使用 QPainter 类来绘制图形
QPainter painter(this);            //QPainter 相当于画笔
painter.drawLine(QPoint(x, y), QPoint(x, y));   //drawLine(QPoint(x, y), QPoint(x, y))画直线

核心代码:
技术分享
 1 void Board::paintEvent(QPaintEvent *)
 2 {
 3     QPainter painter(this);
 4     int d = 40;
 5     // 画10横线
 6     for(int i=1; i<=10; ++i)
 7     {
 8         painter.drawLine(QPoint(d, i*d), QPoint(9*d, i*d));
 9     }
10     // 画9竖线
11     for(int i=1; i<=9; ++i)
12     {
13         if(i==1 || i==9)
14            painter.drawLine(QPoint(i*d, d), QPoint(i*d, 10*d));
15         else
16         {
17            painter.drawLine(QPoint(i*d, d), QPoint(i*d, 5*d));
18            painter.drawLine(QPoint(i*d, 6*d), QPoint(i*d, 10*d));
19         }
20     }
21 
22     // 九宫格
23     painter.drawLine(QPoint(4*d, 1*d), QPoint(6*d, 3*d));
24     painter.drawLine(QPoint(6*d, 1*d), QPoint(4*d, 3*d));
25 
26     painter.drawLine(QPoint(4*d, 8*d), QPoint(6*d, 10*d));
27     painter.drawLine(QPoint(6*d, 8*d), QPoint(4*d, 10*d));
28 
29 
30 }
View Code

效果图:

                       技术分享





Qt版本中国象棋开发(二)

原文:http://www.cnblogs.com/weiyikang/p/6361279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!