@7e1e2e749060 不知道你解決了這個問題沒有,但是我發(fā)現(xiàn)這個是初始化的問題,其他不用動,把engine.rootContext()->setContextProperty("modelMgr", modelMgr);改為
engine.rootContext()->setContextProperty("modelMgr", modelMgr->objectModel());
即可完美解決,我個人認為setContextProperty第二個參數(shù)是傳遞modelMgr的指針,官方則是直接傳ObjectModel*進去,qml里的model就會引用ObjectModel*指向的內(nèi)容,所以作者初始化setContextProperty時其實是傳遞了modelMgr所指的內(nèi)容,在model里調(diào)用objectModel()只是返回一個指針,并不是返回這個指針指向的內(nèi)容,model也沒有引用指針的功能,所以作者這樣初始化時不對的,當(dāng)然我目前的版本是5.15,可能5.9之前model有這樣的功能但是之后重寫了,底層改動這塊因為我才剛接觸一個月還沒那么了解
QML 中使用 QAbstractListModel 作為 ListView 的 model 實例本文對應(yīng)的源碼地址:https://github.com/imtoby/CppModelForQMLExample 程序運行效果: 我們需要注意的是我們在使用 QAbstra...