Я новичок в 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
Прямоугольники SFML, расположенные в сетке 3x3, появляются только в нижней части окна - почему они не станут выше? ⇐ C++
Программы на C++. Форум разработчиков
1755054289
Anonymous
Я новичок в 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;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79733735/sfml-rectangles-arranged-in-a-3x3-grid-only-appear-at-the-bottom-of-the-window[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия