我正在尝试创建一个简单的弹出框,当我的C ++程序启动时,它会允许用户输入多维数据集的宽度,高度和长度,然后将在单独的窗口中显示。我一直在寻找很长一段时间,我还没有找到一个可以让我这样做的解决方案。可以使用C ++,OpenGL和GLUT完成吗?或者我需要另一个库来允许我这样做。
谢谢。
约旦
编辑:我正在编写跨平台程序,不能使用Win32来完成此任务,也不能使用任何其他特定于Window的函数。
答案 0 :(得分:1)
您在寻找的是graphical user interface。
有许多库可用于与各种输入方法(键盘和鼠标)连接并提供图形输出。每个人都有自己的模型。 有各种模型,但最常见的是层次结构。
如果您正在寻找学习经历,我建议您使用谷歌搜索如何制作自己的GUI。
如果你只是想找一个方便的图书馆为你做硬院,我强烈推荐AntTweakBar:
AntTweakBar是一个小巧且易于使用的C / C ++库,允许程序员快速将简单直观的图形用户界面添加到基于OpenGL,DirectX 9,DirectX 10或DirectX 11的图形应用程序中,以交互方式调整参数-screen。
...
AntTweakBar适用于GNU / Linux,Windows和OSX
它不是作为单片电池设计的do-all库(例如Qt,另一种选择),而是作为一个简单而轻量级的调整界面(因此得名)。
有several examples available并且它的API非常简单,所以它应该相当容易上手。
还有GWEN。它不是一个众所周知的图书馆,但我发现它非常通用且易于使用。
事实
- 用C ++编写 - 完全命名空间
- 所有标准窗口控制
- 表现得像你期望的那样 - 轻量级(没有XML阅读器,没有字体加载器/渲染器,没有纹理加载器 - 你的引擎应该做所有这些!) - 易于集成(附带用于Windows GDI,Allegro,OpenGL,DirectX和SFML的渲染器)
- 完全便携式和便携式跨平台
- 不需要RTTI
- 根据“随心所欲”MIT许可证发布。
有意见的说明:我更喜欢GLFW而不是GLUT。它提供了一个更好的模型,并且仍在积极开发中(与GLUT不同,它在很长时间内没有更新)。至少使用freeGLUT
答案 1 :(得分:0)
您需要使用另一个外部gui库来执行此操作。如果您正在为Windows做这个,MFC是一个不错的选择。或者查看库OpenGL User Interface Library。它是跨平台的。
答案 2 :(得分:0)
您的声明表明您希望有一个弹出框意味着您希望使用底层窗口系统,而不管操作系统如何。 如果您想要跨平台,可以使用相当多的库来模拟或实际使用基础窗口系统,例如wxWidgets。
如果使用这样的库不是一个选项,你可以随时使用OpenGL窗口绘制文本并自己模拟你的弹出窗口,但是这样做更多,imo。