[Interest] Is there a good alternative to the QML Controls in Qt6 for native desktop integration purposes?
volker.hilsheimer at qt.io
Thu Feb 24 16:38:51 CET 2022
> On 22 Feb 2022, at 00:34, Mark Gaiser <markg85 at gmail.com> wrote:
>>> On Mo, 2022-02-21 at 16:42 +0100, Mark Gaiser wrote:
>>> I'm facing so many bugs in QML Controls in Qt6 (they used to be Controls V2 in the Qt 5.x
>>> days) that I don't want to use them at all anymore. They are bugged beyond repair and
>>> downright unusable for native desktop integration purposes.
>>> Is there another good open source component set out there that integrates with the
>>> desktop. Specifically with Windows but preferably also with Linux (kde and gnome) and Mac.
>>> Using QWidgets should not be an alternative as it slows down development a lot. But given
>>> the crap that QML Controls is makes me consider switching to QWidgets instead.
>> On Mon, Feb 21, 2022 at 11:11 PM Bernhard Lindner <private at bernhard-lindner.de> wrote:
>> QML is nice for basic applications but widgets is important for professional, technical
>> and high-density applications.
>> But that doesn't matter. From my point of view Qt stopped being developed as a desktop
>> framework a long time ago. Other industries seems to have priority now.
> Well, it was nearly good enough in the Qt5 days with Controls V1.
> All they needed was a better set of controls to accommodate mobile more and reduce complexity in V1.
> What they did - conceptually - with V2 was good.
> But it seems like they just left it in alpha quality and call it "ok" to replace V1.. That was a mistake.
> It needed much more development time to be a proper replacement.
> We're now like ~8 years past the introduction of the V2 set...
> And it still has really severe bugs that just interrupt usability. 8 years...
> So I doubt it will be getting any better at all.
Thanks for keeping it civilised.
Yes, Qt Quick Controls - and largely the entire Qt Quick framework - were originally designed for mobile and embedded platforms, and indeed, that shows when using them for the desktop.
I’m happy that at least in The Qt Company we are now in a position that allows us to put more focus on the desktop, and that we are are able to do more than maintenance and catching up with what’s happening on the underlying platforms. That includes the journey of making Qt Quick Controls a great toolkit for the desktop as well. In Qt 6 so far we have had first implementations of the native styles - yes, those require more work; we have made a number of improvements to item views, including a TreeView now in Qt 6.3; a first set of standard dialogs is in Qt 6.2 and more are coming in 6.3. We have worked on some architectural issues that are problematic on the desktop, such as keyboard navigation and focus handling, and there is a fair amount of more work needed there as well.
I’m not going to claim that all things will be wonderful any moment now; there’s plenty of work that needs to be done. But things do get better, both with Qt Quick Controls, and with Qt Widgets as well.
What keeps confusing me personally is how few people in the community seem to find it interesting to contribute to either of our UI frameworks in Qt. If I take one of the QtWidgets issues that came up in this thread: "QTBUG-6864 is 12 years old, has 47 votes”. I sat down on Tuesday evening to check what it would take to implement hiding of rows in a QFormLayout; after a few hours I had a working implementation, which is right now on its way into the dev branch. The hardest part, as it so often is, was writing a unit test.
Now, I understand that not everybody finds it fun to do that kind of thing on a Tuesday evening. But given the apparently high interest in this feature, that nobody seems to have tried to give it a shot in 12 years is really puzzling me. When Nokia acquired Trolltech, it didn’t take a crystal ball to see that the focus won’t be the desktop. And one answer to this was to move Qt under Open Governance so that anyone could contribute to Qt and make sure that it stays awesome also for domains that Nokia won’t care much about.
Evidently, the people commenting in this thread care deeply enough about Qt on the desktop to participate in the discussion. And I suppose most of us on this list are software engineers, many perhaps for more reasons than to put food on the table. My question to you is: how can we make it easier, or more fun, or more motivating to contribute to Qt, and to help with making things better?
More information about the Interest