Qt或wxWidgets
我要开始做一个新项目。这是一个使用OpenGL for Windows、Linux和Mac OS X的3D游戏。我需要一个用于GUI、窗口和处理输入的库。最后我有3个选择Qt、WxWidgets和GTK+。所有这些都在LGPL许可下 1-LGPL是否允许使用这些库来制作专有应用程序Qt或wxWidgets,qt,opengl,wxwidgets,gtk,lgpl,Qt,Opengl,Wxwidgets,Gtk,Lgpl,我要开始做一个新项目。这是一个使用OpenGL for Windows、Linux和Mac OS X的3D游戏。我需要一个用于GUI、窗口和处理输入的库。最后我有3个选择Qt、WxWidgets和GTK+。所有这些都在LGPL许可下 1-LGPL是否允许使用这些库来制作专有应用程序 2-这3个应用程序中哪一个最适合我?1-是的,前提是您的项目不需要更改库本身 2-Istrongrecqt用于新的窗口应用程序,如果没有其他原因的话,就是它有优秀的文档(虽然还有很多其他的赢家,但它很快就会变得主观)
2-这3个应用程序中哪一个最适合我?1-是的,前提是您的项目不需要更改库本身 2-Istrongrecqt用于新的窗口应用程序,如果没有其他原因的话,就是它有优秀的文档(虽然还有很多其他的赢家,但它很快就会变得主观)。GTK和WxWidgets都会让你浪费精力去思考那些你真的不应该去想的事情。Qt更容易a)定制,b)当你不关心定制时忽略 虽然对于3D的东西,你可能想看看成熟的引擎,比如,哦,irlicht,Ogre3D或者其他一些引擎
WxWidgets使用LGPL,这意味着您可以在项目中动态链接到它,而无需将项目强制为GPL或LGPL 但是,我建议对任何游戏或渲染应用程序使用库,而不是您建议的库 CEGUI使用MIT许可证,该许可证没有LGPL严格,还允许您动态(首选)或静态链接到库,而无需强制您拥有自己项目的特定许可证。
- 支持OpenGL3.2+核心配置文件(OpenGL3渲染器)
- 支持非常旧的OpenGL版本(OpenGL渲染器)
- 如果您想使用Ogre或Irrlicht引擎,它也可以依赖OpenGL,CEGUI还通过CEGUIOGRENDERER和CEGUIIRRLICHT渲染器支持这两个渲染器
- S支持Windows、Linux和Mac OS X,如您所愿
- 因为有人在评论中问到:Unicode字符完全受支持,因此
您可以使用希伯来语、阿拉伯语、各种亚洲字母表等,如当前字体演示中所示-当然,您需要安装一种CEGUI字体或使用另一种开源字体 - 专为游戏、模拟和渲染应用而设计
- 您可以对UI中的所有元素进行蒙皮(目前仅通过XML,不久也将使用编辑器)
- 提供一个功能强大的编辑器(CEED),免费使用WYSIWYG(!)进行布局编辑
- 通过C++代码和/或XML
的变化完全可扩展和自适应
- 强大的事件系统
设置CEGUI及其依赖项并使其与您的项目一起运行可能需要一些时间,但从长远来看,它仍然会得到回报,因为它比大多数免费的UI解决方案具有更多的功能。想象一下,如果你使用UI库,然后发现它没有提供你需要的特定功能,那么几乎不可能添加它,因为CEGUI基于C++和XML,并且因为它的设计,你总是可以对CEGUI添加特定的调整。因此,即使从长远来看,您也很可能不会遇到限制。此外,它已经有了很多现成的功能,比同类库还多。严格来说,wxWidgets不是LGPL。这是LGPL+允许静态链接。我投票将这个问题作为离题来结束,因为您可能可以获得关于Unicode支持的帮助?我需要让这个游戏有不同的语言版本,包括RTL(阿拉伯语和希伯来语)。@wbaccari:你必须绕开CEGUI的文本渲染例程。为了进行Unicode文本布局,您需要使用Pango或ICU的布局类或其他东西。Qt、GTK+和wxWidgets当然支持这些语言,但它们对正确的游戏GUI所需的其他功能的支持还不够。如果可以的话,我甚至建议您制作自己的GUI系统。这就是我所做的,并发现它非常有价值。虽然DOC很棒,但QThread文档很糟糕,但它是错误的,而且完全是错误的。根据我的经验,有更多的情况下,文件只是过时了(没有任何局将改变它)。