3 ms·
> It is mostly used in mobile/embedded systems, but they do have desktop components too. This is misleading. QML was supposed to be the successor of QWidgets.
by Kelteseth 3y ago
> It is mostly used in mobile/embedded systems, but they do have desktop components too.
This is misleading. QML was supposed to be the successor of QWidgets. Many big apps use it just fine on the desktop. Sadly many Qt dev themselves (just look at the QtCreator code, do you see any commits using QML there?) do not like QML and so it never really replaced QWigets. Now we have a community that is essentially split and every party cries if one gets more updates then the other. QML still has things like TrayIcon support as a unstable labs preview module, after nearly 10 years. Yes I'm a full time Qt/QML developer and I'm salty about this :*)
- bluGill 3y agoFor a desktop application widgets are better than QML. QML brings things to your UI that a desktop application shouldn't use. QML is the right way to do phone applications, but there are good user interface reasons to not use most of the features QML gives you on desktop applications, but to use those features on phone applications. Not that you cannot build good desktop applications with QML, but there will be a lot more work for questionable gain.
- Kelteseth 3y agoPlease give me a single reason what QWidgets does have that qml doesn't, from a user perspective. > lot more work I would argue the opposite. Show me a none buggy QWidgets application that features nested collapsing menus, with animations. That being said, you can still create a modern app with fancy animations in QWidgets. The beautiful Telegram QtWidgets desktop app is the best example, it's just more work....
- speps 3y agoWhy do you NEED animations though? That has never been an important feature for users.
- GuB-42 3y agoThe point of QWidgets is not to create a "modern app with fancy animations", that's what QML is better suited for. It can still be done, QWidgets supports theming and all that, but that's not what it does best. QWidgets is for making well integrated, "boring" desktop apps. For nested menus, or any menu for that matter, use QMenu. If your OS is fully supported by Qt and the standard system behavior is to animate the menu, it will be animated in your app.
- diath 3y ago> Please give me a single reason what QWidgets does have that qml doesn't, from a user perspective. QWidgets gives you widgets that look like they're desktop widgets, QML gives you a white rectangle.
- bluGill 3y agoThat you cannot do those animations is a feature! Animations are useful in places, but they also make for hard to use user interfaces. Widgets where designed in a world where user interface experts sat real humans down behind on-way mirrors and watched how they used applications: those experts had long learned fancy animations look great but typically result in it being harder to use user interfaces.
- jcelerier 3y agoExactly, whenever I see an animation on my desktop I instantly loose 20% confidence in the app
- PKop 3y ago"modern app with fancy animations" is not a good desktop app, is the point. You're assuming a requirement of things that people simply don't want. >Sadly many Qt dev themselves...do not like QML and so it never really replaced QWigets Says it all, doesn't it. I'm sure everyone's wrong and it's the un-liked framework that's correct, yes?
- ndiddy 3y agoI will say that the KDE system settings application uses QML for its sidebar and it behaves terribly when resizing the window (takes around a second to resolve the layout after resizing). I haven't seen the same behavior with QWidgets programs.
- marwis 3y agoI don't have a lot of experience with Qt but recently was exploring both QtWidgets and QtQuick as options for simple desktop UI. QtWidgets made creating forms massively easier thanks to QFormLayout and drag and drop designer. There was nothing similar in QtQuick - Grid and Qt Design Studio were absolutely horrible for this.
- account42 3y agoDoes QML even have any system theme support? AFAIK its more of a replacement of web technologies than of QtWidgets.
- jcelerier 3y agoYes, nowadays QtQuick, the GUI library that is generally associated with the QML programming language, supports native styles: https://doc.qt.io/qt-6/qtquickcontrols-styles.html https://doc.qt.io/qt-6/qtquickcontrols-styles.html