这里主要用的是#include <QPainter>里面的paintEvent

void Board::paintEvent(QPaintEvent*)
{
QPainter painter(this);
int d=40;
//画10条横线
for(int =1;i<=10;i++)//从1开始,就不会使得棋盘处在边界
{
painter.drawLine(QPoint(d,i*d),QPoint(9*d,i*d));
}
//画9条竖线
for(int i=1;i<=9;i++)
{
if(i==1||i==9)
{
painter.drawLine(QPoint(i*d,d),QPoint(i*d,10*d));
}
else
{
painter.drawLine(QPoint(i*d,d),QPoint(i*d,5*d));
painter.drawLine(QPoint(i*d,6d),QPoint(i*d,10*d));
}
}
//九宫格
painter.drawLine(QPoint(4*d,1*d),QPoint(6*d,3*d));
painter.drawLine(QPoint(6*d,1*d),QPoint(4*d,3*d));
painter.drawLine(QPoint(4*d,8*d),QPoint(6*d,10*d));
painter.drawLine(QPoint(6*d,8*d),QPoint(4*d,10*d));
}

  效果图如下:

Qt绘制中国象棋棋盘的更多相关文章

  1. 基于QT的中国象棋

    基于QT的中国象棋,可实现人人对战,人机对战,联网对战,可显示棋谱,可悔棋. 还有一些小毛病,我之后会找空把这个DEMO重新修改一下上传 链接:https://pan.baidu.com/s/1-eM ...

  2. Qt版本中国象棋开发(四)

    内容:走法产生 中国象棋基础搜索AI, 极大值,极小值剪枝搜索, 静态估值函数 理论基础: (一)人机博弈走法产生: 先遍历某一方的所有棋子,再遍历整个棋盘,得到每个棋子的所有走棋情况(效率不高,可以 ...

  3. Qt版本中国象棋开发(三)

    实现功能:棋子初始化及走棋规则 棋子类: #ifndef STONE_H #define STONE_H #include <QString> class Stone { public: ...

  4. Qt版本中国象棋开发(一)

    开发目的:实现象棋人机对战简单AI,网络对战,移植到android中. 开发平台:windows10 + Qt5.4 for android 开发语言:C++ 开发过程:1.棋盘绘制: 方法一:重写  ...

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

    实现功能:棋盘绘制 核心函数: void paintEvent(QPaintEvent *); //QWidget自带的虚函数,重写后使用 QPainter 类来绘制图形 QPainter paint ...

  6. C# 实现中国象棋【棋盘,棋子】

    本文是利用C# 实现中国象棋的棋盘绘制,以及初始化布局,并不实现中国象棋的对弈逻辑.仅供学习参考使用. 思路: 绘制中国象棋棋盘,竖线九条,横线十条.再中间绘制‘楚河’,‘汉界’ . 绘制棋子,然后将 ...

  7. 中国象棋程序的设计与实现(六)--N皇后问题的算法设计与实现(源码+注释+截图)

    八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题. 该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列 ...

  8. 中国象棋游戏Chess(3) - 实现走棋规则

    棋盘的绘制和走棋参看博文:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制,中国象棋游戏Chess(2) - 走棋 现在重新整理之前写的代码,并且对于每个棋子的走棋规则都进行了限制,不像之前那 ...

  9. 中国象棋游戏Chess(2) - 走棋

    之前的文章请看:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制 现在实现走棋的功能. 首先需要获取点击到的棋子,用QWidget中的函数 mouseReleaseEvent 实现函数: vo ...

随机推荐

  1. Django-查询优化

    表数据: from django.db import models class Province(models.Model): name = models.CharField(max_length=1 ...

  2. Docker 安装 Request Tracker 工单系统

    1.需求 docker 安装工单系统 Request Tracker,并需要支持 LDAP 登入. 2.制作镜像 1)request-tracker-base镜像 第一个镜像安装一些基础支持软件,如 ...

  3. Vagrant 安装Oracle19c RAC测试环境的简单学习

    1. 学习自网站: https://xiaoyu.blog.csdn.net/article/details/103135158 简单学习了下 能够将oracle RAC开起来了 但是 对后期的维护和 ...

  4. 【07】Kubernets:资源清单(控制器 - DaemonSet)

    写在前面的话 前面讲解了 Pod / ReplicaSet / Deployment 的资源清单,我们这里谈一下 DaemonSet 的资源清单. 之前说过,DaemonSet 控制器能够保证资源在每 ...

  5. docker-machine命令安装

    $ base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-m ...

  6. c# winform devexpress TreeList过滤和绑定

    /// <summary> /// 模糊查询 /// </summary> /// <param name="str"></param&g ...

  7. Git 快速极简图文教程 第一篇

    Git简介 Git 是目前使用最广泛,最著名的工具.据了解,目前绝大部分互联网公司都已经全部切入到git作为版本管理工具,尤其是bat等头部公司,这是一个标准的技能. Git 最早是有linux之父, ...

  8. Macro的写法 `( , ,@ )

    另外的注意点: 1.  同名符号的 “变量捕捉” (varible capture) 解决方式:  with-gensym 生成几个unique name-s, 然后将它们各自绑定上参数值 2. 多次 ...

  9. 【Visio】亲测Visio2013激活,破解工具下载

    破解方法地址: https://blog.csdn.net/qq_38276669/article/details/85046615

  10. MySQL语言分类——DML

    DML DML的全称是Database management Language,数据库管理语言.主要包括以下操作: insert.delete.update.optimize. 本篇对其逐一介绍 IN ...