Not sure what you mean here. Qt does use standard C++ as well as other standards (like POSIX). The layer on top (moc) also relies on standard features and implements reflection support which isn't supported in C++. If you need reflection in C++, you need to implement it yourself, which is exactly what Qt did. Nothing weird here.Qt seem to be more complete and comprehensive, but I hate the following:
* Qt doesn't use standard C++, instead it uses a layer on top of C++. It just doesn't sound right.
No idea on that one. I don't use QML (yet) and am not sure how QML differs from Clutter, but I suspect it was needed in order to avoid compromises when it comes to integration with the rest of Qt and its object model.* Qt reinvents the wheel with QML, compared to GTK which depends on Clutter, JSON, CSS for example.
For me, it was a question of being able to support the three major platforms (Linux, Mac, Windows) from the same codebase. Qt allows me to not only write a portable GUI, but also write portable networking, filesystem and threading code. And other stuff too, like desktop services. Some of those things are also provided by GLib, but with Qt things look more natural and easy to use. For example, the Qt signals and slots mechanism is way more intuitive than GLib's signals or Boost.Signals.So, what am I missing? Why do people seem to favor Qt? Is it only because Qt has some corporate support behind it making it more mature, or there are architectural reasons behind that?