@7e1e2e749060 不知道你解决了这个问题没有,但是我发现这个是初始化的问题,其他不用动,把engine.rootContext()->setContextProperty("modelMgr", modelMgr);改为
engine.rootContext()->setContextProperty("modelMgr", modelMgr->objectModel());
即可完美解决,我个人认为setContextProperty第二个参数是传递modelMgr的指针,官方则是直接传ObjectModel*进去,qml里的model就会引用ObjectModel*指向的内容,所以作者初始化setContextProperty时其实是传递了modelMgr所指的内容,在model里调用objectModel()只是返回一个指针,并不是返回这个指针指向的内容,model也没有引用指针的功能,所以作者这样初始化时不对的,当然我目前的版本是5.15,可能5.9之前model有这样的功能但是之后重写了,底层改动这块因为我才刚接触一个月还没那么了解
QML 中使用 QAbstractListModel 作为 ListView 的 model 实例本文对应的源码地址:https://github.com/imtoby/CppModelForQMLExample 程序运行效果: 我们需要注意的是我们在使用 QAbstra...