Linked by Thom Holwerda on Wed 20th Oct 2010 22:22 UTC, submitted by vivainio
Ubuntu, Kubuntu, Xubuntu This is kind of... Well, good news, I suppose? It depends on where you allegiances lie, but it seems like Ubuntu is warming up to the idea of using Qt to develop applications. It's no secret that Qt is a far more advanced development framework than Gtk+, so it only makes sense for Ubuntu - a GNOME/Gtk+ distribution - is looking at it.
Thread beginning with comment 446327
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Technical superiority to GTK
by lemur2 on Thu 21st Oct 2010 14:29 UTC in reply to "Technical superiority to GTK"
lemur2
Member since:
2007-02-17

I've heard a lot -- including in this article -- about Qt's technical superiority to GTK, but searching online only seems to bring up entirely one-sided fanboy comparisons with little technical detail.

So, could anybody tell me briefly, what is it that makes Qt so much better? What can you do with Qt that you can't do with the combination of GObject, GIO, GTK, Cairo, Clutter, GStreamer, and so on?

This isn't a troll, I'm genuinely curious: I know quite a lot about programming the "G" world and next to nothing about the "Q" (or "K") worlds, and I'd like to expand my knowledge.


I'm not a developer, but surely this would be a start:

http://qt.nokia.com/products/developer-tools/

http://en.wikipedia.org/wiki/Qt_Creator

Qt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer.


http://en.wikipedia.org/wiki/QML
http://en.wikipedia.org/wiki/Qt_Quick

http://en.wikipedia.org/wiki/Qt_Creator#Version_Control_Systems

http://en.wikipedia.org/wiki/Qt_Creator#Qt_Simulator

http://en.wikipedia.org/wiki/Qt_Creator#Targets
Qt Creator provides support for building and running Qt applications for desktop environment (Windows, Linux, and Mac OS) and mobile devices (Symbian, Maemo, and MeeGo). Build settings allow you to quickly switch between build targets.

When you build an application for a mobile device target with a device connected to the development PC, Qt Creator generates an installation package, installs in on the device, and executes it.


Find out more here:
http://qt.gitorious.org/qt-creator/pages/FrequentlyAskedQuestions

Reply Parent Score: 2

tristan Member since:
2006-02-01

Thanks, but perhaps I should have been clearer; my query wasn't so much "how can I learn about Qt", but rather *why* should I learn about Qt? What would it get me? Why is it better than the technologies that the Gnome world uses?

You can find a lot of things saying "Qt is superior" without any real details about what makes it superior.

Again, this isn't meant to be a troll or an invitation to a flamewar. Like I said, I know quite a bit about GTK development -- I do it for a living -- and I'm wondering what it is I'm "missing out on".

Reply Parent Score: 2

Timmmm Member since:
2006-07-25

The benefits I found (I started using GTK then switched to Qt), in order of significance.

* Signals/slots. They may be slightly hacky, but it is hidden well and they really are the easiest way to code UIs. Much better than callbacks (wxWidgets, GTK) or message passing (MFC).

* Documentation. The Qt documentation is one of the best of any project I've used. It's very comprehensive, and tells you exactly what you need to know. It's like the opposite of Android documentation.
It's comparable, but slightly better than the MySQL, or MSDN docs.

* It's real C++. It isn't a hacked up a "C++ in C's clothing" using endless macros and casts like GTK is.

* More comprehensive. It includes way more useful stuff than just low-level UI things. Particularly QtXML, QtWebKit, QGraphicsView, and the network stuff.

* Qt Creator (ok, this didn't exist when I started using Qt, but still). It rocks. A sample of the many awesome features: 1. It supports smart tabs! 2. Code-completion actually works *cough* KDevelop, Anjuta *cough*. 3. Ctrl-click anything to go to its definition. Very useful.

* Performance on Windows. It doesn't suck. And it looks native, unlike GTK.

There's simply no reason to use GTK over Qt today. The only real reason was the licence, but that is resolved.

Reply Parent Score: 9

segedunum Member since:
2005-07-06

...but rather *why* should I learn about Qt? What would it get me? Why is it better than the technologies that the Gnome world uses?

If you're looking at it from that point of view then you're going to find yourself in troll territory pretty quickly one way or the other.

Do you enjoy copying and pasting code from libegg, libsexy or anything else directly into your applications as you try and solve dependency hell? Hint, no one feels the need to do that with Qt. Would you like cross-platform applications to work? Do you enjoy using half a dozen different libraries in your applications besides GTK that all look and program differently? Do you really think that has ever been a good idea?

You can find a lot of things saying "Qt is superior" without any real details about what makes it superior.

If you can't glean some of the avantages from the above list then there's little that can be done for you.

Like I said, I know quite a bit about GTK development -- I do it for a living...

What kind of applications do you work on would be a good place to start. Anyone I have known who has ever done .Net, Cocoa, Qt or even MFC programming and has looked at GTK+ have said "If that's Linux development then no wonder it has no applications. I'm not going to write them".

You've probably been doing GTK programming for two long. Ask some Windows and Mac developers what they think because they're who the Linux desktop needs to grab.

Edited 2010-10-21 16:47 UTC

Reply Parent Score: 5

lemur2 Member since:
2007-02-17

Thanks, but perhaps I should have been clearer; my query wasn't so much "how can I learn about Qt", but rather *why* should I learn about Qt? What would it get me? Why is it better than the technologies that the Gnome world uses? You can find a lot of things saying "Qt is superior" without any real details about what makes it superior. Again, this isn't meant to be a troll or an invitation to a flamewar. Like I said, I know quite a bit about GTK development -- I do it for a living -- and I'm wondering what it is I'm "missing out on".


AFAIK, Qt Creator, the IDE, code editor, form designer and debugger, a true OO (primarily C++) paradigm, nice Python support, the clean abstraction layer isolation from the underlying OS that Qt provides, the extensive documentation provided for Qt, and the ability to easily support a wide set of target platforms ARE the main things that you are missing out on.

This site might be able to shed a little light on it for you:

http://www.wikivs.com/wiki/GTK_vs_Qt

It might be a little behind the very latest developments, but it seems to address your question reasonably well.

Reply Parent Score: 2