【问题标题】:How to draw chess board in Qt using Qpainter如何使用 Qpainter 在 Qt 中绘制棋盘
【发布时间】: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);
}

【问题讨论】:

标签: c++ qt


【解决方案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;
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多