2

我有一个在命令行上运行的模拟软件 (C++)。它独立于平台(目前在 Windows、MacOS X 和 Linux 上编译和运行)。当模拟结束时,我用 SDL 可视化结果;这是一个非常基本的 2d 视图,主要是彼此相邻的颜色方块。

我想在模拟之上有一个用户界面,以便我可以启动和暂停模拟,并即时更改参数。我想这很简单。好吧,理想情况下,我还会在某处添加一个绘图器,以查看某些参数随时间的演变。

现在,我想知道我应该往哪个方向走。我应该尝试使用 SDL 的 UI 库之一吗?或者也许 wxwidget 与 SDL 结合使用?或者干脆 wxwidget 并摆脱 SDL ?

你有这方面的经验吗?

提前感谢巴特

PS:我尝试使用 SDL UI 库 AGAR。它看起来很有希望,但我无法让它发挥作用。甚至不是helloworld。

4

2 回答 2

2

可能值得您花时间研究Qt。它通常是可用的最成熟的免费G​​ui 框架。它是跨平台的。如果您的绘图需要一些速度,它具有硬件加速渲染。

这是WxWidgets 网站上发布的比较。

最后,如果您的窗口需求很少,您应该选择您最熟悉的框架。

于 2010-07-12T15:44:25.067 回答
1

可能在没有 SDL 的情况下使用 wxWidgets 将是最简单的方法。SDL 是一个媒体层——它应该允许跨平台媒体应用程序开发。由于您只需要图形显示,因此您只需要 wxWidgets ——而且它也会容易得多!

如果满足以下条件,您将从 SDL 中受益:

  1. 您需要非常快速地对大量表面进行 blitting(我们在这里谈论的是 60fps 范围)
  2. 你会使用 RLE、颜色键控或其他图形操作
  3. 您会使用其他媒体(声音、高级实时输入等)
  4. 您需要在嵌入式系统(手持控制台等)上运行该软件

如果所有 4 的答案都是“否”,那么您将不会从 SDL 中受益,并且单独使用 wx 会容易得多。

于 2010-05-23T18:21:48.337 回答