Q_INVOKABLE yapılmış bir C++ yöntemim var. Bu yöntemi QML'den çağırabilirim ve temel türleri döndürdüğünde (QString gibi) çalışır. Ama ben özel bir tiple yapamam. Bunu nasıl yapmalıyım? Bunun yerine bir QVariant döndürmeli miyim? İdeal olarak, mümkünse özel türümde bir işaretçi döndürmek istiyorum.Q_INVOKABLE yöntemi özel C++ türünü döndürüyor
DÜZENLEME yapmam:
qmlRegisterType<MyType>("Mine", 1, 0, "MyType");
qmlEngine->rootContext()->setContextProperty("testObj", new MyType());
Ben testObj küresel nesne kullanın veya MyType QML bileşeni oluşturabilir. Ancak, bazı javascript kodlarında Q_INVOKABLE C++ yönteminden bir dönüş türü olarak kullanamıyorum.
çok teşekkürler. O zaman QVariant ile deneyeceğim. Ayrıca, bunun yerine Q_PROPERTY kullanmanın önerisi için teşekkürler. Benim durumumda, yöntem çağrısı bir nesneyi almaktır, böylece bir özellik mükemmel bir anlam ifade eder. Teşekkürler! – Korchkidu
Belgelere göre, özel C++ türlerini Q_INVOKABLE yönteminden QML'ye döndürmek mümkün olmalıdır. Bu mümkün mü yoksa belgelerindeki bir hata mı? – Korchkidu
@Korchkidu: Eğer türü doğru bir şekilde kaydederseniz, bence mümkündür. – lpapp