Results 1 to 5 of 5
Thread: Advice on GTK vs qt
Enjoy an ad free experience by logging in. Not a member yet? Register.
- Join Date
- Aug 2006
Advice on GTK vs qt
we are currently approaching a point in which we are going to have to make a conversion with our codebase. we support a lot of existing code that was written using the motif library. in fact, all of our GUI is motif (programs that have existed since early-mid 90's). we are ready to undertake the task of converting to something newer (we have waited this long for many reasons. it wasn't up to me/us, so please, don't chastize...).
so at this point, we are going to be able to run down 1 of 2 roads: qt or GTK. i know the qt license has recently changed, which makes it available for us to use.
mostly, i am wondering from a programming perspective, which is going to be better to undertake? everything is already written in motif. which toolkit is going to be most similar from the programming side of it? which toolkit takes less code to use (the qt version of "hello world" is insanely smaller than the GTK)? which will take less time to learn?
our GUI's are not complex by any means, and we will not be doing anything creative or intuitive with them. basically, we will just be recreating the way things are under our current motif implementation. i/we don't care about pretty/ugly. our GUI's are already ugly, and we aren't allowed to make them pretty (as that would make them different than before, and people freak out when something changes), and our software won't ever go away. we just want easy to learn and maintain, as we are going to end up having a few of our existing products converted/supported, which means about 10-20 programmers will be making the switch from motif to X. i would say about half of our code is C, the other half is CPP (with some Fortran and other crap wedged in there too), so loyalty to one or the other isn't big. i would prefer CPP, due to the object-oriented nature, but am not set on it by any means.
i would appreciate all input (that doesn't mention which is pretty or ugly, as that is where the conversation gets stupid)...
Wow, Motif. That's an old toolkit. I guess it's better than the bank software that's still running on mainframes.
In any event, the best advice I can give you is to play with each of them to see which is more natural for you to program in. I can tell you right off the bat that Gtk is C while Qt is C++, but Gtk also has gtkmm which is the C++ version of Gtk. So language choice should not be an issue.
Both Gtk and Qt provide a small tutorial and tons of reference docs. I would start there, and just have fun.
- Join Date
- Aug 2006
thanks for the update.
do you have any advice on programming styles? any idea on how similar Qt/GTK is to motif?
i'm really not worried about the capabilities of either; i've used a lot of GNOME stuff and a lot of KDE stuff and don't see any shortcomings either way (i could care less about how they look). i know that full functionality exists either way.
what i am worried about is the time it will take for a team to adopt one or the other. we have 2 different pieces of existing software (each maintained by its own team of 4-5 developers), and while we would like to keep the same toolkit applied to each codebase, we don't "have" to. i know that the other group is leaning towards GTK, which makes sense in a lot of ways because they run GNOME (as do we).
but as i am the one doing the research for this for my team, i will be providing the advice to my team. hopefully (if i have time), i will get to take one of our modules and rewrite it in both GTK and Qt and see which one i/they like better. that being said, do you have any knowledge on which toolkit seems to be a little quicker/easier to learn? our programmers are capable and knowledgeable, but i still want to make things as easy on them as possible (to keep frustration at a minimum as well as the time it takes to rewrite the old code). the quicker the better when it comes to time needed to get a good understanding of how to use the toolkit.
any ideas in that respect?
- Join Date
- Jun 2008
I would realy suggest Qt. Easy to learn, less changes from the standard language (Qt uses a metaobject compiler to add signals and slots to C++ in a simple and transparent to the programmer manner, while Gtk retrofits object orientation on plain C which code that I think looks a bit wierd). Also, now qt is under the LGPL, so no license issues, and it has qgtkstyle so it looks native in both GNOME and KDE
Sometimes, real fast is almost as good as real time.
- Join Date
- Apr 2009
- I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
Just remember, Semper Gumbi - always be flexible!