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

目前对我影响最大的是 3DBuzz.comC++/OpenGL VTM (视频培训模块)。虽然它们非常好,但它们涵盖了图形编程的很大一部分,因此仅浏览 GUI 编程的表面。

这个问题确实涉及“如何制作 GUI?”,其中还有我当前结构的粗略轮廓。

任何回应将不胜感激。

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

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

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

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

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

有帮助吗?

解决方案

我不会在 GUI 中使用 OpenGL,除非您计划使用更传统的 GUI 工具包(例如, Qt, wxWidgets, GTK, , ETC)。如果您只需要一个快速简单的 GUI 来托管 OpenGL 图形,那么 FLTK 是一个不错的选择。否则,为了直接在 OpenGL 中渲染 GUI,它们是类似的库 疯狂埃迪的 GUI 就是这样做并提供很多 可换肤 小部件 您无需重新发明。然后可以为窗口和 OpenGL 上下文提供可移植库,例如 雪迪龙.

编辑: :现在我已经回去看了你的 其他帖子 我想我对你所问的问题有了更好的理解。对于像 Nintendo DS 这样的嵌入式系统上的 GUI,我会考虑使用“立即模式”GUI。 贾里·康帕 有一个 关于他们的好教程, ,但是您可以使用比他提供的 C 代码更面向对象的 C++ 方法。

其他提示

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

有关“立即模式”GUI 的更多信息,我可以推荐 莫莉火箭论坛. 。有一个很好的视频演示了 IM-GUI 背后的想法,以及大量的讨论。

我最近根据 Jari 页面上的演示编写了一个非常快速的 IM-GUI 系统,就我而言,我真的只想能够在屏幕上获得几个按钮和框,或多或少只是硬代码对输入的响应,感觉确实是正确的做法,而不是寻求更全面的 GUI 架构。(这是在 DirectX 应用程序中,因此我的选择数量非常有限)。

最快的方法之一是使用带有 gui 绑定的 python,如 pyQt、PyFLTK、tkinter、wxPython,甚至通过使用 SDL 的 pygame。

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

看:

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

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

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

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

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

IM-GUI 似乎是最好的方法,我认为它将比我最初设想的系统更加精简,并且构建起来要快得多。

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

再次感谢 Monjardin 和 dooz,干杯。

东西2k

我想看看 格莱姆格鲁古伊

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top