Какую библиотеку выбрать для создания пользовательского интерфейса для программного обеспечения C ++, использующего SDL - PullRequest
2 голосов
/ 23 мая 2010

У меня есть программное обеспечение для моделирования (C ++), которое работает в командной строке.Он не зависит от платформы (в настоящее время компилируется и работает в Windows, MacOS X и Linux).Когда симуляция заканчивается, я визуализирую результат с помощью SDL;это очень простой 2D-вид, в основном цветные квадраты рядом друг с другом.

Я хотел бы иметь пользовательский интерфейс поверх симуляции, чтобы я мог запускать и приостанавливать симуляцию, а также изменять параметры на лету.Что-то довольно простое, я думаю.Что ж, в идеале я также добавлю графер куда-нибудь, чтобы увидеть эволюцию во времени некоторых параметров.

Теперь мне интересно, в каком направлении мне идти.Стоит ли использовать одну из библиотек пользовательского интерфейса для SDL?Или, может быть, wxwidget в сочетании с SDL?Или просто wxwidget и избавиться от SDL?

Есть ли у вас опыт с этим?

Заранее спасибо Барт

PS: я пытался использовать AGAR, библиотеку SDL UI.Это казалось очень многообещающим, но я не мог заставить его работать.Даже мир призраков.

Ответы [ 2 ]

2 голосов
/ 12 июля 2010

Возможно, вам стоит потратить время на Qt . Это, как правило, самый зрелый бесплатный графический интерфейс Gui. Это кроссплатформенный. И он имеет аппаратно ускоренный рендеринг, если вашему рисунку нужна скорость.

Вот сравнение , опубликованное на сайте WxWidgets.

В конце концов, если ваши потребности в окнах минимальны, вы должны выбрать среду, которая вам наиболее удобна.

1 голос
/ 23 мая 2010

Вероятно, использование wxWidgets без SDL было бы самым простым способом. SDL - это медиа-слой - он должен позволять разработку кроссплатформенных медиа-приложений. Поскольку вам нужен только графический дисплей, вам нужны только wxWidgets - и это будет намного проще!

Вы получите пользу от SDL, если:

  1. вам понадобится очень быстрое блитирование очень большого количества поверхностей (здесь речь идет о диапазоне 60 кадров в секунду)
  2. вы бы использовали RLE, цветовую клавиатуру или другие графические операции
  3. вы бы использовали другие носители (звук, расширенный ввод в реальном времени и т. Д.)
  4. вам потребуется запустить программное обеспечение на встроенных системах (портативные консоли и т. Д.)

Если ответом на все 4 будет «нет», SDL не принесет вам пользы, и использование одного только wx будет намного проще.

...