ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello everyone,
I got stuck in a question, need your suggestions.
I am a C programmer but not expert yet. I wish to start learning GUI programming. I got 2 option QT & GTK+, both have pros and cons. people says the QT is the best but GTK+ is widely used, so I got confused.
For future perspective which one should I select to start?
If I select GTK because it is widely used in these days, then I found that QT was developed later than GTK, that's why GTK was used. if this is true, after a few years, we may see QT apps over GTK apps if it is really better.
Guide me what should I do?
why do they say that? The point is that any statement that A is better than B has no meaning or value unless you know something about the context. All that matters to the typical user is whether something meets their specific needs.
At one time, the biggest difference between QT and GTK was in the licensing. I'm not current on this.....
I've only had limited experience with GTK+, but a fair bit with Qt. I like Qt a lot - I find it very easy to use. The GTK+ experience I've had was also good. Also, both of them are so popular that their support in the future will doubtless be very good in both cases, it's not something I'd worry about.
One thing to keep in mind is that wile GTK+ is a C library, Qt is C++. Moving to C++ is no small thing, so if you don't want to do that then I'd definitely go with GTK+.
At one time, the biggest difference between QT and GTK was in the licensing.
Yes it was, but now both are under GPL and can be used for commercial applications.
I am not aware of the reason using GNOME over KDE or KDE over GNOME, I started GNOME because I started Linux with ubuntu and was not aware of KDE.
QT is cross plateform and its applications can be easily used in Windows/Mac OS as well.
Note : my views are what I got from internet, personally I am new to this.
Yes, I know that no body can tell me what should I do, but can help me make a right decision, the only thing I need from you.
If you really an C AND not thadt much and C++ Programmer, then you should absolutly go for GTK.
GTK is in its core a C ony Framework, but it has of cause nice bindings to C++, Python ect wich
works very nice. On the other side QT is C++ only and strictly OOP based Programming. C Knowlege
alone doesnt help you anything at here. Mainly i noticed thadt all Major Linux Distributions
are focused on GTK Style GUI Programms.For example: Ubtuntu will not distribute your Software
over the Software Installer Tool if it is not GTK. I switched from QT to GTK and i never
missed anything. Of cause, AT has some builtin candy, but in the Gnu and GLibspace you can
find also some candy.
JohnGraham : Thanks
you started QT just because it was easy to use or you were familier to C++? Yes, I am a C programmer and would like to go with GTK+, But I am also aware of C++, what you say now?
In terms of dependency, Will both application work on any Linux Distribution or environment or there will be a list of dependencies? I also read that Applications in GTK+ were lighter and faster than QT so mini OS deal in GTK+. Is it true?
I wish to start learning GUI programming. I got 2 option QT & GTK+
Also, find out what does your local "market" prefer.
Do companies prefer Qt over GTK for jobs or vice-versa, in your area?
Check out the job sites for the same, if earning money through the
technical skills is one of your aim.
In terms of dependency, Will both application work on any Linux Distribution or environment or there will be a list of dependencies? I also read that Applications in GTK+ were lighter and faster than QT so mini OS deal in GTK+. Is it true?
For easy to use and develop, QT is faster to develop but not easy to deploy on any Platforms.I have used it in Linux/FreeBSD/Solaris/Mac and Windows. The main Problem with QT i was allways running is, it is a massive, monolitic block and it takes hours to compile and for diffrent Distro and 32/64 Scenarios you need some diffrent Versions. Also you cannot really mix statically with dynamic, late bindings.With GTK2.20 otherwise i was able to target all my Platforms, regardles if 32 or 64 Bit. Of cause there where Problems. I also noticed thadt some QT Features like scripting or the HTML or Networking module could not be builded on some Platforms.
Thadts the technical side, but there is also an business side. If you want closed source or opensource and
commercial (licensing or whatever) you have to pay a full commercial license to Digia Inc, wich is now the
Owner. QT has changed its owner in the last to years and every new Owner can change the licensing terms
very quickly.GTK is OpenSource and will every be free and cannot be buyit by some Badass company. Thadts
for me one reason to focus on GTK if i need GUI Features for my Programs.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.