Skip to main content


The usual Manjaro Stable updates plus: QT6 QML apps break… What we are trying to do in terms of syncing the themes across GTK and QT is not something that either of those officially support, so it is more of a hack that has worked for many years no…
I am shocked you were able to theme qml at all!
So you say that's like an impossible task for QT6 ha?
well, KDE does it, but by adding a huge stack and layer of extra qml code via Kirigami which did not seem very useful for building pure cross-platform stand-alone generic Qt qml apps.
This entry was edited (2 months ago)
an example of a pure qml app that does not theme is Linphone, which was recently rewritten in qml (it used a qt widget front end prior, maybe at one time way back even was gtk). It has white and bright orange background colors, everything looks identical (and hence wrong) while it ignores themes on all platforms it's on, and I cannot properly see or use it as a result.
This entry was edited (2 months ago)
outside of a stack like kirigami, you would have to do all the code to make theming work yourself. It's not a feature of qml, by design. It is meant to design identical ui and appearance on all plaforms, to the application. You can define what a "button" is, how it behaves, in minute detail. But to then design one that can also be modified by existing themes is a big project by itself. To do it for all the kinds of ui elements you use is probably far more work than the app itself.
This entry was edited (2 months ago)
qt qml does include standardish controls, like material design, windows, etc, but the problem there is that the app will use the same control set on every plaform. Imagine a mobile app with a windows-like ui ;). And they don't color or change based on platform theming at all. Or you could write multiple apps, each using a control set for each target platform. You can also define colors thru variables and then manipulate them yourself. I wish linphone had done that much.
This entry was edited (2 months ago)
I see thanks for explaining. I have a bit of a better understanding now.