24 Jul, 2009, Lobotomy wrote in the 1st comment:
Votes: 0
I'm about to start working with the C++ version/binding of the GTK+ gui toolkit to give my idea(s) for a gui-based MUD engine/driver a try, and I'm curious to know if others here have experience with GTK+ that would have any advice for me regarding it (tips, tricks, gotchas, etc).

Alternatively, if there are better gui toolkits out there that you think I should be using instead of GTK+ then I'd like to hear about that as well.
24 Jul, 2009, Hyper_Eye wrote in the 2nd comment:
Votes: 0
I have been using GTK+ for years and I am very fond of it. But, I think you might reconsider using it for your purpose. Since you are going to use C++ anyway wxWidgets would be a much better option as it is natively C++, tends to look better (even on Linux where it uses GTK), provides a much larger API that goes way beyond providing a widget set, and it is highly portable. wxWidgets is actually a very complete portability API. It's purpose is to provide an API that allows you to build GUI applications for multiple platforms while providing a native look in those platforms. It achieves this by actually using the native widgets for the platform it is running on. So in Windows it will use the Windows widgets, in Linux it uses GTK+, and in OS X it uses native Mac widgets. It uses common dialogs so that things like info dialogs look like a proper info dialog across all platforms. It also uses native file selectors, print dialogs, etc. So you can produce a single application that uses the native widget set in all supported operating systems which provides a completely native look to the application regardless of platform. It also provides a portable API for many of the things that become a portability issue such as a fully functional TCP socket class, datagram socket class, a thread class, pipe functions, exec functions, file operation, data types, etc.

Take a look at wxWidgets. It is really a much better option than GTK+ for your needs. I would contend that it is a better option in any case now that it has matured. If you like using an IDE Code::Blocks is a cross-platform IDE (built with wxWidgets) that works well with wxWidgets. You can also get a WYSIWYG GUI builder for CB called wxSmith. Or you can try wxFormBuilder as your GUI builder.

Good luck with your project!
24 Jul, 2009, Lobotomy wrote in the 3rd comment:
Votes: 0
Ah, I see. Well then, I'll give Code::Blocks and wxWidgets a try instead. Thanks.
24 Jul, 2009, Silenus wrote in the 4th comment:
Votes: 0
I remember looking into this at one point though I never actually followed through and wrote a GUI with what I learned. Qt might be another alternative if you are sure you are going open source (as opposed to commercial) since it is a native C++ toolkit I believe and maybe also reduce the amount of code you need to write.
24 Jul, 2009, Hyper_Eye wrote in the 5th comment:
Votes: 0
Silenus said:
I remember looking into this at one point though I never actually followed through and wrote a GUI with what I learned. Qt might be another alternative if you are sure you are going open source (as opposed to commercial) since it is a native C++ toolkit I believe and maybe also reduce the amount of code you need to write.


Actually wxWidgets is fully open-source. QT is dual-licensed. They have an open-source license and an open-source release. Then they have the commercial license and the commercial release. It also doesn't have as exhaustive an API as wxWidgets and QT is harder to code.
0.0/5