Gtkmm is a C++ interface for popular GUI library gtk+. gtkmm provides convenient interface for C++ programmers to create graphical user interfaces with Gtk’s flexible OO framework. Highlights include type safe callbacks, widgets extensible using inheritance and over 110 classes that can be freely combined to quickly create complex user interfaces. gtkmm is free software distributed under LGPL. Read the announcement of Gtkmm 2.2.5 here.
it’s weird to do manual memory management again
I programmed several apps in Gtkmm 1.2, and when 2.0 was out, I decided to quit it. Sorry, It’s too hard to develop for it, it lacks proper documentation, and looking into the gtk+ instead one is extremely confusing. But not only that, the whole api (that comes from gtk) is also too convoluted for developers. I dont care if the design is crystal clear, usability is what matters and this isnt usable (this goes for both gtkmm/gtk). Ever wondered why the KDE guys just make things better? Ever wondered why do they go lightyears faster than gnome in development? well they care that their apis and toolkits ( the same way as qt) provide programmer-friendly and reusable interfaces. Sorry GTK/Gtkmm guys, this is just not the way. To all the programmers out there who do C++ or Python. Go Qt and forget about all this, it’s much nicer to program for, you do the same things and more with less and shorter lines of code. And also, there is an EXCELLENT community behind Qt and KDE with tons of people you can talk, interact and even CRITIZISE (and you will get proper answers). Most of the guys in the gnome/gtk community are a bunch of elitists who defend programming ideals that they dont even understand themselves!
I could happily write an article explaining the differences between Qt and gtk, with fair comparisons and everything, aswell as advantages or disadvantages, but i’m not sure it goes in the scope of OSnews.
Go ahead and write the article, we will publish it. Read our guidelines here: http://www.osnews.com/story.php?news_id=168
As for GTK+ and Qt, I agree. Qt is much better to develop with. The funny part is that I prefer Gnome as my DE than KDE, but Qt as the development toolkit of choice than GTK.
Those are the ones I like. : )
After spouting off an entire paragraph of biased tripe, I seriously doubt you could make any kind of fair comparison.
There are already some articles that compare both toolkits:
http://phil.freehackers.org/kde/cmp-toolkits.html
http://slashdot.org/askslashdot/01/11/21/0227206.shtml
(sorry, I did not read these articles, they are probably old)
I would be interested in a fair comparison of gtk+ and qt, too.
To kelvin: I don’t think the guy is biased. I programmed a little with qt/kde and I think, it is a very nice, well designed framework. I cannot compare to gtk+, because I don’t know it, but Qt/KDE is definitely very nice for developers.
SWF becomes a real alternative through pnetlib.
really amazing. http://www.alain5.org
Oh, I wasn’t referring to reduz’s opinions of the toolkits, I’m sure Qt/KDE is a fine programming framework. I just have trouble believing he would be able to write a fair comparison between the two platforms considering his other comments about GNOME/KDE and the developer communities:
– KDE is light years ahead of GNOME and the development of KDE applications is much faster
– KDE has a _real_ community, GNOME does not
– GNOME developers are elitist and amateurish
This is of course nothing more than FUD that uninformed KDE-supporters like to spread around.
As a long-time GNOME user and having programmed with GTKmm I have to agree with reduz, the whole API is a mess. There are no decent tutorials or guides available and the API reference is full of errors and is missing info in some places. I spent a lot of my time during development searching through archived mailing lists for clues. It was a lot of work.
That being said, I don’t think that KDE/QT has a GUI bulder that is on par with Glade. And as far as I’m concerned, it’s a waste of time building a GUI any other way. This alone puts GNOME in a better position than KDE/QT for me.
Also, I think that most GNOME apps are not built in C++ code, but rather C, so GTKmm is not required. There are actally very few GNOME apps out there that are built using GTKmm (gee, I wonder why):)
I have never used glade, but I played a little bit with qtdesigner and tried some of the examples from the really well written and understandable qtdesigner-tutorial and I was really amazed how simple it is to create little apps with qtdesiger. Are you really sure that glade is so far ahead of qtdesigner? What is the advantage of glade compared to qt-designer?
I must admit…I wasn’t aware of QT Designer. But, from looking at the website, it looks like it’s pretty good. Although, I have to ask…is it free? I can’t tell from the site.
One of Glade’s strengths is that it interfaces both GTK libs as well as GNOME libs. Can QT Designer interface KDE libs? Also, Glade can use XML to create code in a variety of languages (C/C++, Ada95, Python & Perl). As far as I know (which isn’t much) QT/KDE is all C/C++. The Glade tutorials are also very effective and useful. Many developers have contributed to the effort and have produced some good examples for newbies.
I wish I knew more about QT Designer as then I could give a good answer to your question. Maybe someone else has used both?
Yeah, qtdesigner (the binary name is designer) is free and included with Qt.. it can even import GLADE files. Qt also comes with assistant, which is also pretty cool.
I’ve been programming with C++ for about seven years now.. I started on MacOS with MacApp (Apple’s original C++ framework), then used Metrowerk’s C++ framework for MacOS called PowerPlant, and then did some Windows development with MFC.
When I first started using Linux, I started learning gtkmm. This was around when gtkmm 2.0 had just been stabalized. It was pretty good, but I found too many things that carried from it’s C-only heritage. Not only were there the annoying_function names that I’ve not seen in any other GUI toolkit, but often I had to resort to using underlying gtk+ (in C, not C++) only functions on the GObject that the gtkmm class was wrapping. My last MAJOR beef with gtkmm was the documentation was, in my opinion, lackluster at best. If you compare any two equivalent gtkmm/Qt classes, you’ll see what I’m getting at. See Gtk::table at http://gtkmm.sourceforge.net/gtkmm2/docs/reference/html/classGtk_1_…
and QTable at http://doc.trolltech.com/3.2/qtable.html for example.
So.. eventually, I switched to Qt and am happy with that. I don’t use KDE nor GNOME, but have a nice speedy fluxbox desktop.
Thanks for the info. QT Designer sounds great. I’ll have to give KDE/QT another shot:)
Your comments on GTKmm are spot on. The documentation is horrible and underlying C/GTK+ is difficult to escape. Maybe the GTKmm people should work on a *good* rewrite of the docs instead of worrying about updated releases? At least that way developers would know which functions don’t work yet:) (maybe it could give tips on how to shortcut unimplemented functions with the GTK+ C libs)LOL
For you, who dont like Gtkmm but still want to program in C++, there is still another C++ wrapper which is compatible with MFC. Has someone else experience in WxGtk ? Are there any projects started with this library ? The only thing i dont like about WxWindows is no Full use of C++ namespaces like Gtkmm. I find it to be very useful is you work in a big software that can have the same class names.
JL
As far as I know, you can also use KDE widgets with Qt Designer, at least with the version that comes with KDevelop. But I am not completely sure, I have never tried it.
I am pretty sure, that you are limited to C++ with Qt Designer. So if you are using another language, Qt Designer will not be useful to you.
I really think Qt Designer is a very nice program and you should definitely give it a try if you are interesed in programming Qt/KDE
“Are there any projects started with this library ?”
Audacity