Qt-Qml:绑定复选框到 QAbstractListModel

Qt-Qml: Binding checkbox to QAbstractListModel

我在开发程序时遇到问题。我有一个包含 boole 属性 的 QAbstractListModel,我希望能够将该值传递给我包含 CheckBox.

的 QML 文件

我发现 this question on Whosebug 涵盖了同样的问题。我面临着完全相同的问题,但问题和答案涵盖了 属性 通过 Q_PROPERTY 发送到 qml 而我使用 QAbstractListmodel 的情况。我已经覆盖了 setData()data()flags() 方法并且一切正常,但我有一个按钮 check/uncheck 我所有的 CheckBoxes 并且如果用户直接检查其中之一,其中一个将无法通过我的 check/uncheck 按钮进行编辑。

基本上,我想知道如何使用 QAbstractListModel 而不是 Q_PROPERTY 来设置双向绑定。

谢谢。

抱歉打扰了。我用我的小脑袋花了5分多钟才找到答案。

我只需要使用 dataChanged 信号就可以将我的模型正确连接到视图。

 CheckBox {
        id: myCheck
        onClicked: user.status = checked
        Component.onCompleted: checked = user.status
        Connections {
            target: user
            onDataChanged: myCheck.checked = user.status
        }
    }

不知道我们可以将现有信号直接传递给 QML,只需将 on 放在信号名称前面即可。