I have a global singleton \"Settings\" which holds application settings. When I try to run the following code I get a QML CheckBox: Binding loop detected for property \"ch
QML CheckBox: Binding loop detected for property \"ch
If you don't want to make a binding loop - don't make a binding, use a proxy variable, for example. Other simple solution can be to check the value:
CheckBox { checked: Settings.someSetting onCheckedChanged: { if (checked !== Settings.someSetting) { Settings.someSetting = checked; } } }