我正在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