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

Posted

技术标签:

【中文标题】如何使用 Qpainter 在 Qt 中绘制棋盘【英文标题】:How to draw chess board in Qt using Qpainter 【发布时间】:2019-11-11 06:51:42 【问题描述】:

我只能绘制一个矩形,但我需要使用画家绘制 64 个矩形。所以请任何人都可以帮助我..? 我需要 64 个具有不同坐标的矩形,所以请帮助我如何更改坐标。我应该对 x 和 y 坐标进行硬编码吗?

代码如下:

#include <QPaintEvent>
#include <QMainWindow>
void paintEvent(QPaintEvent *event)

  QRect rectangle(0,0,100,100);
  QPainter painter;
  painter.setBrush(Qt::black);
  painter.drawRext(rectangle);

【问题讨论】:

***.com/questions/15829192/… 也许这有帮助? 【参考方案1】:
void paintEvent()

int x=0,y=0;
int temp=0;
QPainter painter;
for(int i=0;i<8;i++)

for(int j=0;j<8;j++)

   if(temp==0)

painter.setBrush(Qt::black);
temp++;

else

painter.setBrush(Qt::white);
temp--;

   QRect r(x,y,100,100);
   painter.drawRect(r);
   x+=100;

x=0;
y+=100;
if(temp==0)
temp=1;
else
 temp=0;


【讨论】:

以上是关于如何使用 Qpainter 在 Qt 中绘制棋盘的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Qt QPainter 绘制线性渐变弧?

Qt开发技术:Qt绘图系统QPainter详解

Qt__绘制系统

Qt里如何用数据画图?

Qt 绘图问题,急急急!

QT 在窗口中绘制现有图片