之前我发布了一个关于如何访问QML中的结构的问题,并从一些很棒的人那里得到了完美的答案,现在我需要知道是否有任何方法可以访问中的结构 QML ,以下是代码:
// MyNewStruct
struct MyNewStruct {
Q_GADGET
float m_range;
Q_PROPERTY(float range MEMBER m_range)
};
// MYSTRUCT
struct MyStruct {
Q_GADGET
int m_val;
QString m_name1;
QString m_name2;
QString m_name3;
QString m_name4;
MyNewStruct m_newStr; //**new Struct declaration
Q_PROPERTY(int val MEMBER m_val)
Q_PROPERTY(QString name1 MEMBER m_name1)
Q_PROPERTY(QString name2 MEMBER m_name2)
Q_PROPERTY(QString name3 MEMBER m_name3)
Q_PROPERTY(QString name4 MEMBER m_name4)
Q_PROPERTY(MyNewStruct newStr MEMBER m_newStr) //**Currently getting error as != cannot be used
};
答案 0 :(得分:0)
我在MOC中遇到的错误是由于操作员" != "功能仍未定义。
由于我们在构建复杂应用程序/模块时需要这些结构定义,我想在此处发布此问题并且没有适当的文档可用。< / p>
提出问题:我在我的struct中使用了简单的运算符加载(因为这里允许使用方法)以下是代码:
if(!compilation.References.Any(reference =>
compilation.GetAssemblyOrModuleSymbol(reference)
.Name == "System.Collections.Immutable"))
{
return;
}
通过这样做,我能够在QML中访问MyNewStruct。希望它可以帮助其他人。