QML 本地存储 无法在布尔变量中分配给不同类型的现有角色?



我正在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其中star变量是来自数据库(本地存储(的布尔值。

修复它重要吗?

如何修复?

这是改变icon.source onClick的正确方法吗???

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

替代方法:

star = !star 

通过

star = star ? 0: 1 

相关内容

  • 没有找到相关文章

最新更新