C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – QMetaProperty :: read:无法处理未注册的数据类型’TreeItem *’大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Qt不允许注册类模板? @H_616_2@我的班级层次结构是

TreeItemTemplateBACkend : public QObject

template<typename T>
TreeItem : public TreeItemTemplateBACkend
@H_616_2@这是我在qml注册内容

qmlRegisterType<InspectorItem>("ge.gui",1,"InspectorItem");
qmlRegisterType<TreeItemTemplateBACkend>("ge.gui","TreeItemTemplateBACkend");
qmlRegisterType<TreeItem<InspectorItem>>("ge.gui","TreeItem");
@H_616_2@我仍然收到此错误

@H_616_2@QMetaProperty :: read:无法处理未注册的数据类型TreeItem< InspectorItem> *属性’Inspector :: root’

@H_616_2@Inspector :: root是:

Q_PROPERTY(TreeItem<InspectorItem> * root READ root NOTIFY rootChanged)

解决方法

当你想使用一个指向例如在Q_PROPERTY中的’ClassA’,你必须像这样注册
qRegisterMetaType<ClassA*>("ClassA*");
@H_616_2@由于使用了模板,解决方案对您来说可能更复杂,但希望这可以指出您正确的方向.

@H_616_2@(与我的other answer. source: ‘jpn’相同)

大佬总结

以上是大佬教程为你收集整理的c – QMetaProperty :: read:无法处理未注册的数据类型’TreeItem *’全部内容,希望文章能够帮你解决c – QMetaProperty :: read:无法处理未注册的数据类型’TreeItem *’所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。