Count me a skeptic. This is the same approach taken by Java's Swing (now JavaFX) toolkit and apparently it has exactly the same issues. Swing never felt quite right even after decades of tweaking.
Count me a skeptic. This is the same approach taken by Java's Swing (now JavaFX) toolkit and apparently it has exactly the same issues. Swing never felt quite right even after decades of tweaking.
On the opposite, I think people generally like it.
I wonder why?
Home entertainment systems, in-vehicle entertainment systems, kiosks, medical devices, avionics, Linux desktop apps, printer displays, navigation systems, industrial equipment controls, these are the sort of things that Qt is mostly used for.
Do you use a Qt desktop or mobile app on a day to day basis? The only Qt app I have ever used is QtCreator. It's a good development environment, but the look and feel is definitely a bit weird.
For Windows PCs, it was already a widely used native look and feel. Also wide selection of native Win32 controls, mostly implemented in ComCtl32.dll.
Yet in WPF I can easily replicate native look and feels, if I want so.
Unlike that, Spy++ itself uses Win32 (wrapped by MFC but it doesn’t matter) for GUI, you’ll see these SysTreeView32, msctls_statusbar32 and other native controls there.
I also was "worried" (more than need to) - how people with disabilities, or special devices (non-standard pointer devices, like artists) would use Qt, as I thought there is no native support.
And yet, I was mistaken. Windows (and other systems) expose an "assistive" layer where you can explain to the underlying windowing system what is each thing that you draw, the text, etc. And Qt solved it.
Once we moved from MFC -> Qt, and removed other uses of wxWidgets, non-ui programmers started adding bits and pieces much easier in Qt (I'm not claiming Qt superiority), because all it took sometimes was to subclass, and repaint something, add button or two and create new control. With MFC that was hard, and with wxWidgets kind of tricky (solutions always ended up being "Windows" specific, not that we cared about Linux/OSX back then).
So that's why I love flutter, and it reminds of Unreal's internal UI used by it's editor.
At work I'm still struggling with GWT, XML ui binder files, and trying to componentize modules. With flutter, Qt, and I guess Unreal's UI it's much easier. Or with JUCE for that matter...
So I'm no longer against "custom" drawn UIs, as long as they expose their contents properly to the OS (and if this matters really).
Sorry for the long rant...
Oh, and I mentioned it someplace else - I love how IntelliJ uses Swing - it's much better from Eclipse (which is trying the exact opposite with it's own platform-"wrapping" ui-kit)... And just 10+ years ago I thought the opposite.