Qt QML本地存储可以';是否为布尔变量中不同类型的现有角色赋值?

Qt QML本地存储可以';是否为布尔变量中不同类型的现有角色赋值?,qt,qml,qt5,Qt,Qml,Qt5,我正在Qt Creator上制作一个应用程序。我有这样一个工具按钮: ToolButton { icon.source: (star) ? "icons/star.svg" : "icons/star-border.svg" onClicked: { star = !star Data.update(number, star) } states: State { name: "pressed"; when: pare

我正在Qt Creator上制作一个应用程序。我有这样一个工具按钮:

ToolButton {
    icon.source: (star) ? "icons/star.svg" : "icons/star-border.svg"
    onClicked: {
        star = !star
        Data.update(number, star)
    }
    states: State {
        name: "pressed"; when: parent.pressed === true
        PropertyChanges { target: parent; icon.source: (star) ? "icons/star.svg" : "icons/star-border.svg" }
    }
    transitions: Transition {
        from: ""
        to: "pressed"
        reversible: true
    }
}
一切正常,但当单击ToolButton时,此错误会出现在应用程序输出上:

未知文件:无法分配给不同类型的现有角色“star” [布尔->数字]

看起来这一行是导致错误的原因:
star=!星形
其中
star
变量是来自数据库(本地存储)的布尔值

修理它重要吗

如何修复它


这是更改图标的正确方法吗?source onClick?

本地存储使用SQLite,而SQLite中没有布尔值,因此布尔变量映射为0或1

对于要替换的解决方案:

star = !star 


what is Data,在这里提供what is
star
?在哪里定义了star?本地存储使用SQLite,而SQLite中没有布尔值,因此布尔变量映射为0或1。它为youchange
star=生成该错误!星型
星型=星型?0:1
star = star ? 0: 1