小白求教:关于qml中使用 c++定义的model 提示没有定义model的问题

[复制链接]
查看11 | 回复2 | 2021-1-27 05:29:50 | 显示全部楼层 |阅读模式
使用engine.rootContext()->setContextProperty("datamodel",QVariant::fromValue(dataList));在main函数以外的方法中使用,提示datamodel没有定义,但是在main函数中使用这个方法却能够正常使用。希望大佬们能指点一二。。

分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:29:50 | 显示全部楼层
这个方法是在QML引擎的上下文设置全局属性的。
一般情况下,在main函数使用即可,不过只要QGUIApplication和QQmlApplicationEngine初始化完成后就可以使用的。
除非设置datamodel属性的engine和loadQML的engine是两个不同的对象,才会出现未定义的情况。
检查一下,是不是这个问题。
回复

使用道具 举报

千问 | 2021-1-27 05:29:50 | 显示全部楼层
最好的方法,就是不用设置上下文变量,而是使用QML单例和QML类。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行