Я новичок в C ++ и изучаю SFML, сделав простой пользовательский интерфейс калькулятора. Я пытаюсь создать 9 кнопок, расположенных в сетке 3x3, используя вложенные для петель, где каждая кнопка представляет собой белый прямоугольник. Я хочу, чтобы кнопки расположены в рядах и столбцах, но они сложены вертикально внизу. < /P>
Я не уверен, что делаю не так. Вот мой код: < /p>
#include
#include
int main() {
sf::RenderWindow window(sf::VideoMode(600, 400), "Calculator");
std::vector buttons;
float btnWidth = 150.f;
float btnHeight = 100.f;
float marginX = 0.f;
float marginY = 100.f;
float startX = 0.f;
float startY = 300.f;
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 3; ++col) {
sf::RectangleShape button(sf::Vector2f(btnWidth, btnHeight));
button.setPosition(
startX + col * (btnWidth + marginX),
startY + row * (btnHeight + marginY)
);
button.setFillColor(sf::Color::White);
button.setOutlineThickness(2);
button.setOutlineColor(sf::Color::Black);
buttons.push_back(button);
}
}
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(sf::Color::Black);
for (const auto& button : buttons)
window.draw(button);
window.display();
}
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... the-window