1

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

在 StackOverflow 上发现了这个问题,涵盖了同样的问题。我面临着完全相同的问题,但问题和答案涵盖了属性通过 a 发送到 qmlQ_PROPERTY而我使用 a 的情况QAbstractListmodel。我已经覆盖了setData(),data()flags()方法,一切正常,但我有一个按钮可以检查/取消选中我CheckBox的所有 es,如果用户直接选中其中一个,则无法通过我的选中/取消选中按钮进行编辑。

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

谢谢你。

4

1 回答 1

2

对不起,打扰你。我刚刚用我的小脑袋花了 5 多分钟才找到答案。

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

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

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

于 2015-03-20T09:11:13.813 回答