zoukankan      html  css  js  c++  java
  • Qt版本中国象棋开发(二)

    实现功能:棋盘绘制

    核心函数:

    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

    效果图:

                           





  • 相关阅读:
    JS闭包
    css3 背景渐变
    css扩展技术:Less和Sass的区别
    HTML5 Canvas八大核心技术及其API用法
    HTML5新标签含义,用法及其与HTML4的区别
    当离散遇见连续
    素数测试
    概率采样问题
    二分查找及其变种
    C++与Java多态的区别
  • 原文地址:https://www.cnblogs.com/weiyikang/p/6361279.html
Copyright © 2011-2022 走看看