Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Many packages available with GTK and QT versions. So, What is difference between them? Is there any difference in performance or working method?

share|improve this question

2 Answers 2

up vote 11 down vote accepted

In general, the difference from a user perspective should be purely cosmetic. Qt and GTK set themes independently (via, e.g., qtconfig or gtk-chtheme) but this is harmonized by some desktop environments.

GNU/Linux tends to be more GTK oriented than Qt in the sense that the former is more commonly used, so you may want to prefer it when given the choice; an exception would be under KDE, which uses Qt for its own applications -- although none of these factors is very important.

A more significant issue would be in contexts with very limited RAM (as in, < 1/4 GB); in this case you would probably want the system to use exclusively GTK or Qt, but not both. On most modern desktops with gigabytes of memory, however, this is not a concern -- using both extensively might cost you an extra (wild guess) 50-100 MB.


Note that there are also different versions of both GTK (2 and 3) and Qt (3 and 4) still widely used but not backward compatible (so a Qt 3 application cannot use Qt 4 libraries). However, both versions may exist on a system at the same time and the most serious consequence of this would be the potential for confusion and a bit more memory bloat.

share|improve this answer
4  
I would be extremely interested to know how you come to the conclusuion that Linux is more GTK oriented? Linux, typically implies only the Linux kernel which in general has no bias towards either of the toolkits, since it is an OS kernel, not a GUI userspace program. If you meant to imply GNU/Linux as an operating system, I'd still dispute your claim. To say that GNU/Linux is more GTK oriented because Ubuntu is the most popular distro is like saying Christiano Ronaldo is the best sportsman because football is the most played game in the world. (I'd dispute that too) –  darnir May 14 at 13:14
1  
@darnir I'll put the "GNU" qualifier in since I did mean the operating system in a colloquial sense. I'll defend my thesis that it is more GTK than Qt oriented: GTK (which originally stood for the "GIMP Tool Kit", and GIMP = the GNU Image Manipulation Program), GIMP, and GNOME are all GNU projects and a core part of their (userland) vision for an operating system, which paired with the kernel is what "linux" historically is. So GTK was developed primarily for linux, it is also native C (vs. Qt's C++), whereas Qt is more of a genuinely cross-platform entity. –  goldilocks May 14 at 13:23
    
While I will agree with you about the history and etymology of GTK, this does not implicitly imply that GNU/Linux is GTK oriented. In fact the opposite is true and is confirmed by your statements. GTK was designed for linux, not the other way around. I'd defend my thesis stating that Linux as a kernel and GNU/Linux as an operating system are agnostic towards any GUI Toolkit. GTK is often seen in the wild more than Qt because of Ubuntu's heavy dependence on it. Also the fact that it is lighter on system resources helps. –  darnir May 14 at 13:30
1  
@darnir Yes, the OS is essentially agnostic WRT the GUI toolkit -- I would not claim GTK is "the native" toolkit, etc. But you're wrong about why it "is often seen in the wild more" -- GTK was the most widely used toolkit on the platform before Ubuntu even existed because of the aforementioned relationship with other fundamental parts used extensively by all distros. This is why most linux GUI apps are GTK apps already, and why, without more context to go on, it makes sense to tell a new user "You might as well pick that one", all else being equal. But it does not really matter. –  goldilocks May 14 at 13:42
    
Utilizing multiple different toolkits would also require much more storage; I don't think this would impact performace, though, just the space for other things. –  DaimyoKirby May 14 at 14:06

No, there is no difference in the internal structure of such programs. GTK and Qt are user interface toolkits and frameworks. They are libraries that the developers use to design graphical interfaces.

When a graphical (GUI) program is written, first its core internals are developed. This is what makes the program run. You never see the core, they simply execute in the background. On top of this core, a User Interface (UI) is designed.

Now, the developers could design the complete interface from scratch, or re-use designs made by others. Re-using design has a major advantage. It allows all the programs in your computer to look similar. Hence, they use GUI toolkits. GTK and Qt are two extremely common GUI toolkits.

GTK is the standard toolkit for GNOME while Qt is used by KDE. From the user's point of view, it's just the looks that differ. The program remains the same at heart.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.