[Interest] Import C++ types to Javascript

Jason H jhihn at gmx.com
Sat Nov 28 02:11:45 CET 2015


I just checked, it is a slot. I just feel like I'm missing something. Do I need to make a instance?
var instance = new MyLib.Hash() ?
var hash = instance.sha1("data")


> Sent: Friday, November 27, 2015 at 7:50 PM
> From: "Jérôme Godbout" <jerome at bodycad.com>
> To: "Jason H" <jhihn at gmx.com>
> Cc: interest <interest at qt-project.org>
> Subject: Re: [Interest] Import C++ types to Javascript
>
> Make sure your function is Q_INVOKABLE or is a slot. also take care .pragme library is not possible with javascript and object from c++ access
> 
> > On Nov 27, 2015, at 7:43 PM, Jason H <jhihn at gmx.com> wrote:
> > 
> > Per http://doc.qt.io/qt-5/qtqml-javascript-imports.html
> > 
> > I am trying to in a JS file, import a class I made and exposed to QML via
> > 
> > hash.h:
> > class Hash :public QObject {
> > Q_OBJECT
> > ...
> > QString sha1(QString str);
> > }
> > 
> > main(): 
> > qmlRegisterType<Hash>("MyLib", 1, 0, "Hash");
> > 
> > myfile.js:
> > .import MyLib 1.0 as MyLib
> > 
> > function myFunc(obj) {
> >    return MyLib.Hash.sha1(JSON.stringify(obj));
> > }
> > 
> > but what I get when I call it is:
> > qml: Parse Error: TypeError: Property 'sha1' of object [object Object] is not a function
> > 
> > What am I doing wrong?
> > JSON.Stringify-ing the MyLib or MyLib.Hash returns {}
> > 
> > 
> > 
> > _______________________________________________
> > Interest mailing list
> > Interest at qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/interest
>



More information about the Interest mailing list