Как в sfml вывести статическую картинку? Т.е. не перерисовывать каждый раз как при анимации, а обрабатывать событие перерисовки. При указании очень низкой (1--5) частоты кадров (FPS) повляется эффект "подвисания".
Т.е. вместо этого:
void show()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "Output window");
window.setFramerateLimit(10);
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Red);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
}
Что-то вроде:
void show()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "Output window");
window.setFramerateLimit(10);
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Red);
while (window.isOpen())
{
sf::Event event;
while (window.waitEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
else if (event.type == sf::Event::Repaint) {
window.clear();
window.draw(shape);
window.display();
}
}
}
}
Или какие есть решения, библиотеки проще и достаточно легковесные (не Qt) для показывания картинки в модальном всплывающем окне (текст выводится в консоле).