【问题标题】:What library to choose to build a user interface for a C++ software that uses SDL选择什么库来为使用 SDL 的 C++ 软件构建用户界面
【发布时间】:2010-05-23 18:11:45
【问题描述】:

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

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

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

你有这方面的经验吗?

提前致谢 巴特

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

【问题讨论】:

    标签: c++ user-interface sdl multiplatform


    【解决方案1】:

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

    这是发布在 WxWidgets 网站上的comparison

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

    【讨论】:

    • 它有一个 opengl 画布供您绘制 - 您可能会在 SDL 中使用它。
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 感谢您的回答。那我会去wxwidget。我将开始阅读它。我不确定我是否可以显示 2d 表面和类似的东西。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多