我想打印出一系列矩形,但是这些矩形只是一个接一个地显示,最后什么也没有显示。我不知道为什么我只希望所有这些矩形一起显示。
#include "Graph.h" // get access to our graphics library facilities
#include "Simple_window.h"
int main()
{
Graph_lib::Point tl{ 100, 100 };
Simple_window win{ tl, 1000, 800, "Simple Window" };
int x_size = 800;
int y_size = 800;
for (int x = 0, y = 0; x < x_size&&y < y_size; x += x_grid, y += y_grid)
{
Graph_lib::Rectangle r(Graph_lib::Point(x, y), x_grid, y_grid);
r.set_fill_color(Graph_lib::Color::red);
win.attach(r);
win.wait_for_button();
}
return 0;
}
最佳答案
如果您要解决Stroustrup的《编程-使用C++的原理和实践》(第二版)的第13章,其中他要求在窗口中绘制一组矩形,那么您的代码不会再现您的意图。您多次绘制仅一个红色矩形。您需要一个容器(例如 vector )来存储这些矩形,然后使用它来一起显示所有矩形。完整的代码可以在此处找到link(信誉:Benjamin Wuethrich,他实际上解决了该书的所有练习和练习,看看)。希望这会对您有所帮助。干杯!