快速说明:我检查了其他主题,但无法识别正确的语法。
class Pet : public QObject
{
Q_OBJECT
Q_ENUMS(PetStatus)
public:
enum PetStatus { Stun, Rooted };
...
}
qmlRegisterType<Pet>(); //In other class.
此类在 PetTeam 内的 QList 中使用,而在 PetStage 内的 QList 中使用。两个更高的类没有枚举。PetStage 对象单独发送到 QML,并且从那里可以从 QML 中访问其他所有内容,因为它知道层次结构。
petStage.team[1].pet[2].name //Works in QML
我遇到的问题是我想在 QML 中使用枚举,但我不知道在 QML 中使用的正确语法,以便
console.log(X.Rooted) //prints 1; I thought Pet.Rooted would work but it does not
功能正常。