SUMMARY When developing QT6 Quick applications on Linux, I get a lot of this message in my console: <Unknown File>:1:26: QML ToolTip: Binding loop detected for property "contentWidth": qrc:/qt/qml/org/kde/breeze/ToolTip.qml:28:5 STEPS TO REPRODUCE 1. Make a Qt6 application with an ApplicationWindow. 2. Add a ToolTip object to it. 3. Run and observe the console output. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Arch Linux latest Qt Version: 6.9
Some others that I commonly see: qrc:/qt/qml/org/kde/breeze/ScrollBar.qml:42:9: QML Separator: Binding loop detected for property "thickness": qrc:/qt/qml/org/kde/breeze/ScrollBar.qml:44:13 qrc:/qt/qml/org/kde/breeze/ScrollView.qml:40:25: QML ScrollBar: Binding loop detected for property "visible": qrc:/qt/qml/org/kde/breeze/ScrollBar.qml:26:5
Can I ask why you're using the Breeze QQC2 style? It's intended for usage only on Plasma Mobile. In general our expectation is that typical desktop apps would use qqc2-desktop-style instead.
> Can I ask why you're using the Breeze QQC2 style? ... typical desktop apps would use qqc2-desktop-style instead. I'm not manually setting the style anywhere. I'm running the EndeavorOS flavor of Arch Linux. I'm writing Qt Quick applications on desktop. This theme is automatically chosen and loaded by QT6.9 on my platform.
Perhaps the distro has set qqc2-breeze-style as the default QQC2 style? Worth following up with them about it.
I'm a little fuzzy on how the KDE themes are tied to QT6 Quick themes. I think QT6 Quick tries to determine the system theme and then load the appropriate Quick theme (from the system files). On my machine I see themes in three folders: /usr/lib/qt6/org/kde/desktop /usr/lib/qt6/org/kde/breeze /usr/lib/qt6/org/kde/plasma/components When I run a QT6 Quick app, it uses the theme from the breeze folder automatically. I'm not sure how to make it use one of the other two, or why it decides to use "breeze". I do have a Breeze theme set in the Global Theme settings of KDE. I have four different Breeze themes there; none of them hint at being for mobile/desktop.
The readme (at https://github.com/KDE/qqc2-breeze-style) seems to imply that loading the desktop theme would require me to use QApplication and link to QtWidgets. Is that right? Does my application attempt the desktop theme and fail (and automatically fall back to qqc2) because it's lacking some dependencies?
I confirmed that by linking QtWidgets and switching from QGuiApplication to QApplication that I get the desktop theme loaded by default. How does that play into my Mac and Windows deployments. Do they also need QtWidgets linked to show native Mac/Windows themes?