GUI libraries?

Started by
21 comments, last by Antonym 14 years, 6 months ago
Hello, I want to create a level editor for a game I am working on. I heard I may need a GUI library and was wondering if there were any good options? I use c++ and direct3d, I am also familiar with OpenGL and SDL aswell, in case it's relevant. Thanks.
Advertisement
I would suggest doing it in C++/CLI and/or C#. I've been working on a similar thing for the last couple of months and its been fairly simple to acheive.
CLI?
C++/CLI is a managed version of C++ running on .NET Framework. Available since Visual Studio 2005.

Regarding GUI - CEGUI is a commonly used user interface library for C++ programmers. It's open source and free but can be intimidating at first. Have a look at least:
http://www.cegui.org.uk/wiki/index.php/Main_Page

Tar

If you are going for an in-engine GUI, then I would have to recommend CEGUI, or better yet, Awesomium.

However, if this is a dedicated editor tool, I would recommend going the other way, and embedding your Direct3D/OpenGL renderer in an OS GUI (WinForms, wxWindows, QT, or similar). This will give you the ability to offer a much more familiar interface to your users, at a fraction of the implementation complexity.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I'd like to second the suggestion for Qt. It's a fantastic GUI library; well designed and easy to use. It's open source, cross platform, and the documentation is very good ... which is incredibly important when working with a 3rd party library.
Quote:Original post by gfxnomad
I'd like to second the suggestion for Qt. It's a fantastic GUI library; well designed and easy to use. It's open source, cross platform, and the documentation is very good ... which is incredibly important when working with a 3rd party library.


In case you want a different perspective, I don't like Qt. Its signal/slot mechanism requires you to use a preprocessor and ugly macros. It also forces you to use Qt-provided classes for containers and strings.

Let me suggest gtkmm, which is a well-designed C++ wrapper around GTK+. It fits with C++ much better in my opinion. The licensing used to also be an argument in favor of gtkmm, but I know Qt has gotten better, so I don't know if this is still relevant.
Quote:Original post by alvaro
In case you want a different perspective, I don't like Qt. Its signal/slot mechanism requires you to use a preprocessor and ugly macros. It also forces you to use Qt-provided classes for containers and strings.
While I agree with you analysis, QT does have several very nice features, such as out-of-the-box webkit integration.
Quote:Let me suggest gtkmm, which is a well-designed C++ wrapper around GTK+. It fits with C++ much better in my opinion.
GTK is (IMHO) a pain to use cross-platform. Although Windows support is pretty decent these days, the Mac+GTK user experience is still not very pleasant.
Quote:The licensing used to also be an argument in favor of gtkmm, but I know Qt has gotten better, so I don't know if this is still relevant.
QT used to be GPL, which prevented the development of closed-source applications. It is now available under the LGPL, which allows you to use it in closed-source/commercial applications provided you link dynamically.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

good advices here, really.
Thanks a lot everyone. I think I'll go with Qt.

This topic is closed to new replies.

Advertisement