我在开发程序时遇到问题。我有一个包含QAbstractListModel
属性的boole
,我希望能够将该值传递到包含CheckBox
的QML文件中。
我发现this question on StackOverflow涵盖了相同的问题。我面临着完全相同的问题,但问题和答案涵盖了通过Q_PROPERTY
将属性发送到qml的情况,而我使用了QAbstractListmodel
。我已经重写了setData()
,data()
和flags()
方法,并且一切正常,但是我有一个按钮可以检查/取消选中我的所有CheckBox
es,如果用户直接检查其中之一,则无法通过我的check / uncheck按钮进行编辑。
因此,基本上,我想知道如何使用QAbstractListModel
而不是Q_PROPERTY
设置双向绑定(bind)。
谢谢。
最佳答案
对不起,打扰你。我刚刚用我很小的大脑找到了答案超过5分钟。
我只需要使用dataChanged
信号即可将模型正确连接到 View 。
CheckBox {
id: myCheck
onClicked: user.status = checked
Component.onCompleted: checked = user.status
Connections {
target: user
onDataChanged: myCheck.checked = user.status
}
}
不知道我们是否可以将现有信号直接传递给QML,只需将
on
放在信号名称的前面即可。关于c++ - Qt-Qml:将复选框绑定(bind)到QAbstractListModel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29162671/