1
빠른 참고 사항 : 다른 항목을 확인했으며 올바른 구문을 식별하지 못했습니다.QML의 Q_ENUM 액세스
class Pet : public QObject
{
Q_OBJECT
Q_ENUMS(PetStatus)
public:
enum PetStatus { Stun, Rooted };
...
}
qmlRegisterType<Pet>(); //In other class.
이 클래스 PetStage QList 내에서 사용 PetTeam QList 내에서 사용된다. 두 개의 상위 클래스에는 열거 형이 없습니다. PetStage 객체 만이 QML로 전송되고 거기에서부터 QML 내에서 계층 구조를 인식하면서 다른 모든 객체에 액세스합니다.
petStage.team[1].pet[2].name //Works in QML
제가하는 데 문제는 내가 QML에서 열거를 사용하려면 내가 그
console.log(X.Rooted) //prints 1; I thought Pet.Rooted would work but it does not
기능이 제대로 그래서 QML에서 사용할 올바른 구문의 인식이다입니다.
사용하여 거기에서 당신은 QMLscript
로 가져올 것이며, QML에서 호출을 생성하는 것입니다 코드가 잘못되어 제대로 작동하지 않아야합니다. "Q_OBJECT 또는 Q_GADGET 매크로가있는 클래스에서 열거 형 선언 뒤에 배치해야합니다." – Matteo