Qt 5.1 has been released. It brings several enhancements, Qt Quick Controls, Qt Sensors, a much better C++11, Wayland and OpenGL support, and the development of Android and iOS applications is very usable for a large number of use cases. In related news, the LXDE desktop prepares the change to Qt.
pretty soon GTK will be only a GNOME thing, just as they like it. (oh, and XFCE too I suppose)
Honestly, that’d surprise me. No matter how you feel about it, GTK is probably the most popular GUI library for major and commercial software packages on Linux largely thanks to Red Hat’s immense popularity in the commercial world. Sure, I suspect GTK3 is considerably less popular than it’s predecessor but I’d be extremely shocked to see Mozilla start shipping Firefox with the XUL-QT backend or the MySQL admin tools to suddenly be ported to something else.
Is QT a dream to work with? Does it work extremely well on most common platforms? Yes to both. Do I think it’ll suddenly become more popular than GTK in the Linux world? I doubt it.
Edited 2013-07-05 22:18 UTC
This is more to do with C++ vs C than Qt vs GTK.
I was there in the beginning, before GNOME existed, so I do remember those flamewars, that were based in language and license than technical merit.
Qt.
“QT” is spelled wrong.
Qt == Qt
QT == QuickTime
LXDE switching to the best GUI toolkit out there. I wonder if Canonical will switch Unity to QT.
Ubuntu’s Unity Written In Qt/QML For “Unity Next”
http://www.phoronix.com/scan.php?page=news_item&px=MTMxNzM
Ok, so LXDE and Ubuntu just confirms wwhat I said since 13 years ago: Qt is the best toolkit out there.
It’s just a shame people doesn’t use it more on Windows, too. Only WPF is comparable somehow but WPF is C# and managed .net and can’t be used from regular C++. MFC is just crap.
Qt would have been king from day one if it had been LGPL. The whole reason Gtk exists is that Qt was nonfree at the time.
True. I think the big problem is that companies fell like they are at the mercy of GTK rather than having an equal hand in developing it. I don’t know if Red Hat or some other company has the most pull over GTK3+, but they certainly made a lot of unpopular decisions in the move from GTK2 -> GTK3. The fact that they keep breaking people’s GTK apps certainly isn’t helping them.
They need to dump utf16 and go utf8. Also they should drop a bunch of their algorithms and collections and delegate to stdc++. There’s a few other things I’m not super pleased with, mostly because the toolkit was originally written when most c++ code looked a lot like java.
Or maybe it wasn’t the best 13 years ago and it’s only due to recent developments that these projects are switching.
No, it was the best 13 years ago too (even by a bigger margin than today)… but stupid Trolltech licensed it with a propietary licence and QT won a lot of enemies inside the open source community.
Years later Trolltech finally licensed the QT with the LGPL but the damage was already done. Bummer…
Qt, not QT …that’s QuickTime
You seem to have been away from Windows for some time.
The XAML stack has been rewritten in C++ for Windows 8.
When targeting Metro applications, you can use XAML with C++/CX, which compiles to native code. Or use the Windows Runtime template framework when you prefer to use plain C++ without language extensions.
I always find funny people complaining about MFC.
When Microsoft did MFC they tried to copy Borland’s OWL by doing a proper OO framework. This is where Afx prefix comes from.
After some field research, most complained it was too OO and they would prefer just a thin layer over Win32, which triggered a rewrite before publishing it.
So the ones to blame are the C developers moving to Windows that couldn’t deal with C++.
While true what you write, you are leaving something out:
1. C++/CX only really works for Windows 8+. Thus, unless you are willing to ditch 90% of your potential market, you can’t use it yet for quite a while (5+ years with current reception of Win8).
2. C++/CX is not C++. Personally I like C++/CX a lot better than C++/CLI, but it is still a language bridge into a foreign type system. It roughly falls into the same category as Objective C++.
3. The Windows Runtime template framework is indeed C++, but from what I’ve seen of it so far I’d prefer even MFC over what I saw!
Given those constraints, the C++ XAML stack as an alternative to Qt for a C++ developer is not a very good one at this time. Except when explicitly targeting Metro and nothing else.
I agree with your points.
Before using Microsoft tooling, I was using Borland most of the time.
Visual C++ funny enough, being Visual did not offer the same RAD capabilities of Delphi and C++ Builder have since 1995.
Or the capabilities provided by OWL in Turbo Pascal and Turbo/Borland C++.
Instead Microsoft extensions always seemed to cater more to the C developer going C++. Which given the background of the initial MFC prototype seems to have been the case.
> I agree with your points.
I agree with the points of both of you, too. Your opinions and experience with those software are frequent ones.
Edited 2013-07-07 12:01 UTC
You can use WRL and ISO C++ as well.
Really you only use CX at the ABI boundary and it maps nicely to C++11 semantics.
Are there any good guides out there for getting started with QT for C++ n00bs, esp setting up an IDE and running apps on Windows?
The best way would be to download Qt with QtCreator.
http://qt-project.org/downloads
There are lots of videos to learn from,
http://qt-project.org/videos
The documentation is also quite good
http://qt-project.org/doc/
Other than that there are a few books, but I hardly read any of them.
Then again, I know Qt since the KDE 1.0 days, so probably not the most indicated person to give advices how to learn it nowadays.
The latest QT Creator includes everything (IDE, compiler, Qt Library) in a single installer. It’s quite easy to set up, and you can start coding right away…
A nice video about the capabilities of Qt can be found in http://www.youtube.com/watch?v=FIs5YqzS4Bc
Edited 2013-07-06 09:45 UTC
Just like to highlight that LXDE is awesome in its usability and now also in its flexibility. If they would just integrate a ‘view timezones’ applet, it would be feature-complete for my use. (For now, gsimplecal works — but I’d like a Qt equivalent as well.)
Note that LXDE-Qt is now on Qt4, but apparently the porting to Qt4.1 should be relatively easy (they’re skipping Qt5.0 for ease-of-porting reasons). That makes the release of Qt5.1 double-plus-good to me!