Qt绘制中国象棋棋盘

Posted wuyepeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt绘制中国象棋棋盘相关的知识,希望对你有一定的参考价值。

这里主要用的是#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绘制中国象棋棋盘的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Qpainter 在 Qt 中绘制棋盘

Qt版本中国象棋开发

在 QLayout PyQT 5 中的 QLabel 类型棋盘上绘制棋子

第三次实验总结

Java实现中国象棋(人机对战)

Java实现中国象棋(人机对战)