Nokia
will introduce Qt to the maemo platform in addition to GTK+. The first actual step will be the distribution of the Qt libraries for application development in maemo.org during 4Q2008. Nokia wants to explore cross-platform possibilities between S60 and maemo. It is interesting also to check the interest in the developer community for Qt in the tablets. This is also a way to attract more attention from the KDE community, a sensible move especially if the Trolltech acquisition gets completed.

As a developer, what in my incentive to learn GTK+ now? I've used Qt a few times, and it is gloriously complete.

I apologize, in advance, for my blunt answer. But in my opinion QT apps are generally crap. They look bad. Their UI is generally not well designed. QT itself does not lend itself to creating apps with good UI design. Of course, many will disagree with my opinions on this, and that is perfectly fine with me. I'm sincerely happy that people who do like QT apps have a good selection of them.

Why learn GTK+? Because (and I am intentionally avoiding words like "most" or "majority" here) a substantial portion of your potential users are like me and prefer GTK+ apps to QT apps.

And I respect your opinion. The point is that some end users agree with my opinion and some end users agree with your opinion. And that is a very good reason not to develop tunnel-vision regarding gui libraries. The OP was asking why he should not focus exclusively upon QT development.

Oh come now, arguing that one should *develop a new app* in GTK+ just because *existing apps* that use GTK+ are easier to use than Qt-based ones is no argument whatsoever.

That's like advising a musician to produce new music using just electric guitars and not keyboards or computers, because a larger percent of mainstream music involves electric guitars whereas a lot of music made with keyboards and computers is challenging to listen to.

But why should someone *comfortable and efficient when using keyboards and computers*, who is nonetheless going for a mainstream aesthetic, force himself to use just guitars?

Actually, the analogy is even more extreme than is the case with GTK+ vs Qt, because the difference in "user taste" when it comes to GTK+ vs Qt *purely in terms of widget aesthetics* is arguably less than the difference between a note produced on an electric guitar versus a keyboard.

The fact is, there is nothing stopping people from creating simple, easy to use GUIs with Qt. I think the main problem with Qt apps is that people are always trying to show off all they can do thanks to the fact that the architecture makes a lot of hard things trivial. Whereas GTK+ apps are limited by virtue of the fact that they actually can't do all that much without some serious effort put into them. Is it a design philosophy, or simply a side effect?

Anyway, with KDE 4 we're starting to see the marriage of good, simple UI design with the power of Qt. Thus proving how possible it really is.

Why learn GTK+? Because (and I am intentionally avoiding words like "most" or "majority" here) a substantial portion of your potential users are like me and prefer GTK+ apps to QT apps.

I'm a little surprised, despite your qualifier, that's a pretty subjective and totally unquantifiable answer, when you're usually more objective.

In that light, I would argue that the majority of users don't give a crap about what the GUI looks like. That's a typical GTK-type response whenever someone points out the superiority of Qt's framework over GTK (but we have *HIG* !!!!), but at the end of the day developers will choose the framework that works best for what they want to accomplish, not for what the users prefer. And users, for that matter, will generally choose their apps on merit. If you look at OSX or Windows, you very rarely see applications with anything regarding GUI consistency. Microsoft and Apple break their own guidelines all the time, let alone the third-party vendors. It's only linux where this argument is ever brought up, as if it has merit.

I'm a little surprised, despite your qualifier, that's a pretty subjective and totally unquantifiable answer, when you're usually more objective.

Unquantifiable? I should think that the endless flamewars regarding gui libs and DEs should be sufficient to demonstrate that quite a few people in Linux's current target market care enough to endlessly fight over them. You mean Tilly? She's doesn't make up much market share. Melvin makes all those decisions for her anyway. And he tends to have a preference.

I think what is getting lost in the rush to defend QT's honor and prove that it is the best gui toolkit in the world, bar none, is that the original poster was asking why he should not just program in QT and ignore everything else. That's a pretty loaded question.

But anyway, let's add something that is more quantifiable. From Fedora 8:

===
[steve@hagar ~]$ repoquery --whatrequires gtk2 | wc -l
167

[steve@hagar ~]$ repoquery --whatrequires qt | wc -l
27
===

(The above includes all packages available in the repo, and not just the one's installed. And thank you to Rahul for introducing me to the very useful "repoquery" utility.)

QT's World Domination plan has a ways to go. If QT is so wonderful that there is really no need to consider any other toolkit, and if it's OSS, then why hasn't QT taken over the Free Software world? Are all those devs just stupid? Are they supporting a non-QT toolkit for no reason at all?

To be clear, while others seem to be arguing the point that QT is the one true GUI toolkit, and that no others are needed, I am taking the position that GUI toolkits are *not* a one size fits all proposition from either a developer's or user's perspective. This is, as per usual, mistakenly perceived by some QT fans as an attack.

"Why learn GTK+? Because (and I am intentionally avoiding words like "most" or "majority" here) a substantial portion of your potential users are like me and prefer GTK+ apps to QT apps.

I'm a little surprised, despite your qualifier, that's a pretty subjective and totally unquantifiable answer, when you're usually more objective. In that light, I would argue that the majority of users don't give a crap about what the GUI looks like. That's a typical GTK-type response whenever someone points out the superiority of Qt's framework over GTK (but we have *HIG* !!!!), but at the end of the day developers will choose the framework that works best for what they want to accomplish, not for what the users prefer. And users, for that matter, will generally choose their apps on merit. If you look at OSX or Windows, you very rarely see applications with anything regarding GUI consistency. Microsoft and Apple break their own guidelines all the time, let alone the third-party vendors. It's only linux where this argument is ever brought up, as if it has merit. "

I agree with you. I know of few people that "prefer gtk". They prefer desktops, they prefer distros, they prefer apps; only the devs I know give a d@mn what toolkit was used. Now fonts, on the other hand... :-)

If that is the typical response from GTK+ advocates then its wrong. The Gnome HIG has very little or at least should have very little to do with the toolkit itself. The same thing goes for Qt applications and how they are designed. Crappy UI's has very little to do with either GTK or Qt, or any toolkit for that matter (well that is not always true, you are not going to use Motif and get something pretty). If Qt application has bad design, then its because that particular app has a bad designer. The same for gtk apps, yes gtk has a very set look about it but that doesn't all of a sudden make it look better than Qt ( I'm a gnome user, BTW). Besides that Qt supports the ability to look like the platform its running on, this includes Gnome, including swtiching the button positions the way Gnome likes them.

There are plenty of Qt apps on the market that you wouldn't know are Qt (I think google earth uses Qt), because they are designed to look like whatever platform/design the author intended. I like Qt, I like its progress, its KDE I don't like but I certainly don;t blame Qt for that. I do however blame Gnomes deficiencies on GTK, because the toolkit itself needs a serious overhaul.

How could I possibly contradict such an enlightened point of view as this? Come on, Leos, that kind of response is really beneath you. Name-calling? Shame on you. I went out of my way to make it *quite* clear that I was voicing my own opinion, and I have to wonder what is the reason for such oversensitivity regarding criticism of QT. One does not resort to the kinds of emotional statements I have quoted above in relaxed, casual conversation. It is no secret that I prefer GTK and Gnome to QT and KDE, and I have good reasons for feeling that way. I'm sure you have good reasons for preferring QT and KDE, but I don't call you names over it, even when you don't make it clear that you understand that what you are voicing is only your own opinion.

This may come as a shock to you, Leos, but while I prefer GTK and Gnome, I am not anti-QT or anti-KDE. As I have indicated on a number of occasions, I'm glad that QT and KDE exist to please those users whom I really would not care to have plaguing the Gnome platform, requesting that it be turned into something resembling KDE. And I would guess that you feel the same way about those of us who prefer the Gnome's UI policies.

I also feel that having a couple of major GUI toolkits/DEs that are distinct in character from each other is good for the adoption of FOSS desktops, in general, since users have different tastes, and developers have different tastes.