【问题标题】:GUI system development resources? [closed]GUI系统开发资源? [关闭]
【发布时间】:2010-09-06 00:43:24
【问题描述】:

有人可以推荐任何用于创建图形用户界面的好资源,最好是 C/C++ 吗?

目前我最大的影响是3DBuzz.comC++/OpenGL VTMs(视频培训模块)。虽然它们非常好,但它们涵盖了很大的图形编程领域,因此只能略过 GUI 编程的表面。

这个问题确实与“How do I make a GUI?”有关,这里也有我当前结构的大致轮廓。

我们将不胜感激。

编辑: 我刚刚阅读了一些答案,发现我错过了一些要点。我不得不输入两次问题,因为我抓住了错误的按钮并丢失了它。

我错过了两个重要的点,第一:这将用于跨平台,包括索尼 PSP 上的自制软件。第二:我想创建一个不使用现有系统的 GUI 系统。

编辑 2: 我认为你们中的一些人没有抓住重点,我没有使用我想要构建一个现有的 GUI 系统。

当前形式的 Qt 不能移植到 PSP 上,更不用说这种任务的过度杀伤力了。

也就是说,我决定创建一个 IM-GUI,并开始制作代码原型。

【问题讨论】:

    标签: c++ user-interface playstation-portable


    【解决方案1】:

    看看Qt。它是一个用于制作 GUI 的开源库。与 Java 中的 Swing 不同,它假设了很多东西,因此制作功能性 GUI 真的很容易。例如,textarea 假设您需要一个上下文菜单,当您右键单击它时使用复制、粘贴、全选等。documentation 也非常好。

    【讨论】:

      【解决方案2】:

      对于像 PSP 这样的平台,我会稍微担心 IM GUI 解决方案的性能。使用传统的保留模式类型的解决方案,当您创建控件时,您还可以创建顶点缓冲区/显示列表或渲染它所需的内容。使用即时模式解决方案,在我看来,您需要在每一帧动态地重新创建它。

      如果你只做几个按钮,或者它不会在游戏中使用(假设你正在制作游戏),你可能不会关心这个,但是,特别是如果你有相当多的文字,如果您找不到以某种方式缓存显示列表的方法,渲染成本可能会开始受到影响。

      【讨论】:

        【解决方案3】:

        最快的方法之一是将 python 与 pyQt、PyFLTK、tkinter、wxPython 等 gui 绑定一起使用,甚至通过使用 SDL 的 pygame。

        它简单快速且独立于平台。 包的管理也是无与伦比的。

        见:

        【讨论】:

          【解决方案4】:

          除非您计划使用更传统的 GUI 工具包无法获得的硬件加速和/或 3D 效果,否则我不会将 OpenGL 用于 GUI(例如 QtwxWidgets、@ 987654323@等)。如果您只需要一个快速简单的 GUI 来托管您的 OpenGL 图形,那么FLTK 是一个不错的选择。否则,为了直接在 OpenGL 中渲染 GUI,它们是像 Crazy Eddie's GUI 这样的库,它们可以做到这一点并提供很多 skinnable widgets ,您不必重新发明。然后可以为窗口和 OpenGL 上下文提供一个可移植的库,例如 SDL

          编辑:现在我回过头来看看你的other post,我想我对你的问题有了更好的理解。对于像 Nintendo DS 这样的嵌入式系统上的 GUI,我会考虑使用“即时模式”GUI。 Jari Komppa 有一个 good tutorial about them,但你可以在 C++ 中使用比他提供的 C 代码更面向对象的方法。

          【讨论】:

            【解决方案5】:

            我会看看GLAMGLGooey

            【讨论】:

              【解决方案6】:

              我看过 Molley Rocket 的视频并浏览了 Jari Komppa 的缓存教程。

              IM-GUI 似乎是最好的选择,我认为它会比我最初设想的系统更精简,构建起来也更快。

              现在一个新问题,我只能除了一个答案。 :(

              再次感谢 Monjardin 和 dooz,干杯。

              thing2k

              【讨论】:

                【解决方案7】:

                我会第二个 Qt。它是跨平台的,我发现它比内置的 Visual Studio GUI 更容易使用。它是双重许可的,所以如果您不希望您的代码成为 GPL,您可以购买许可证。

                【讨论】:

                  【解决方案8】:

                  有关“即时模式”GUI 的更多信息,我可以推荐Molly Rocket forums。 IM-GUI 背后的思想有一个很好的视频演示,还有很多讨论。

                  我最近根据 Jari 页面上的演示构建了一个非常快速的 IM-GUI 系统,就我而言,我真的只是希望能够在屏幕上获得几个按钮和框,或多或少只需对输入的响应进行硬编码,这确实是正确的做法,而不是采用更完整的 GUI 架构。 (这是在 DirectX 应用程序中,所以我的选择数量非常有限)。

                  【讨论】:

                    【解决方案9】:

                    http://www.fox-toolkit.org 有一个 API 参考,如果您正在寻找如何使用特定框架。还是您对一般理论更感兴趣,或者您对如何自己做低级工作更感兴趣?

                    【讨论】:

                      猜你喜欢
                      • 2010-09-20
                      • 2010-09-27
                      • 2011-01-03
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-02-20
                      • 2011-05-12
                      • 2010-09-10
                      • 1970-01-01
                      相关资源
                      最近更新 更多