Q_INVOKABLE virtual bool generate(QObject* context);
a.generate({foo: "bar"});
विधि का उपयोग कर सेल्सियस तक ++ सदस्य समारोह जे एस वस्तु गुजर कहा जाता है (ब्रेकपॉइंट के माध्यम से पता चला), लेकिन पास context
पैरामीटर NULL
है। चूंकि the documentation कहा गया है कि जे एस वस्तुओं QVariantMap
के रूप में पारित हो जाएगा, मैं हस्ताक्षर
Q_INVOKABLE virtual bool generate(QVariantMap* context);
उपयोग करने की कोशिश की है, लेकिन इस एमओसी के दौरान विफल रहा है।
Q_INVOKABLE virtual bool generate(QVariantMap& context);
पद्धति का उपयोग का कारण बनता है (त्रुटि संदेश ": QVariantMap & अज्ञात विधि पैरामीटर प्रकार" है) QML द्वारा रन टाइम पर नहीं पाया जा करने के लिए।
प्रलेखन में केवल QVariantMap
को C++ से QML तक पारित करने का एक उदाहरण है, दूसरी दिशा में नहीं।
Q_INVOKABLE
के बजाय public slot
का उपयोग करके वही व्यवहार और त्रुटियां दिखाती हैं।
धन्यवाद, यह काम करता है। – pmf