2
(Qt 스크립트가 사용되지 않으므로) QJSEngine을 기반으로 Qt 5에서 javascript에 노출 된 C++ 클래스 집합이 있습니다.QJSEngine에 대한 사용자 정의 C++ 유형 : 멤버 함수 반환 값은 항상 QVariant입니다.
My QObject 파생 클래스 A와 B에는 Q_OBJECT 매크로가 있으며 Q_DECLARE_METATYPE 매크로도 사용됩니다.
javascript 내에서 새 인스턴스를 만들 수있는 클래스에 대한 팩토리 함수를 공개했습니다. 미세 다음의 모든 작품 :
a = namespace.createNewA(); // QJSEngine reports a type A object
b = namespace.createNewB(); // QJSEngine reports a type B object
b.SetParent(a); // SetParent is a slot of B taking a const A& parameter, gets called correctly
// But now.
b.GetParent(); // Reports QVariant(A), even though this is a slot: A GetParent() const
나를 대신 QVariant의,의 getParent 자바 스크립트에서 실제 타입으로 객체를 인식됩니다 것을 보장하기위한 방법이 있나요?
QJSEngine에서 "newable"객체를 만든 방법을 공유 할 수 있습니까? 나는 지금 그것에 고심하고있다. 내가 찾은 모든 문서는 이전 엔진을 사용하여 설명합니다. – Jay