[SailfishDevel] QML C++ Integration not working in Sailfish

antonio.cano.gomez at ovi.com antonio.cano.gomez at ovi.com
Wed Feb 26 10:46:42 UTC 2014


Hi J-P,

It is not working as I try to call the method generateFilterInvokable2()

in the function:

function createBloomFilter() {
    getAppState().filterCharged = true;
    Bloomfilters.generateFilterInvokable2()
    console.log("Called")
}


And as result "Called" is never printed. So I guess that it crashes.




El Miércoles 26 de febrero de 2014 0:30, Sylvain B. <sthocs at hotmail.com> escribió:
 
No, I am able to invoke c++ methods from QML while having exposed them the exact same way.
>The only difference would be that my constructor is a simple "Bloomfilters()".
>So same question than J-P: what exactly isn't working?
>
>
>> Date: Tue, 25 Feb 2014 16:31:13 +0100
>> From: mikelima at gmail.com
>> To: antonio.cano.gomez at ovi.com; devel at lists.sailfishos.org
>> Subject: Re: [SailfishDevel] QML C++ Integration not working in Sailfish
>> 
>> I think you need to add a qRegisterMetatype() to be able to invoke
>> methods from qml.
>> 
>> On Tue, Feb 25, 2014 at 3:06 PM,  <antonio.cano.gomez at ovi.com> wrote:
>> > Hi,
>> >
>> > I am trying to do a simple Sailfish aplication that uses a c++ library.  I
>> > try to connect my qml code with the C++ code.
>> >
>> > First I create QObject extended library:
>> >
>> > #ifndef BLOOMFILTERS_H
>> > #define BLOOMFILTERS_H
>> >
>> >
>> > #include <QObject>
>> > #include "svn/bloom-read-only/bloom_filter.hpp"
>> >
>> > class Bloomfilters : public QObject
>> > {
>> >     Q_OBJECT
>> >
>> >
>> > public:
>> >     Q_INVOKABLE  void generateFilterInvokable2() const ;
>> >     Q_INVOKABLE  void generateFilterInvokable(const QString &cadenaK, const
>> > QString &cadenaM) const ;
>> >
>> >
>> >     explicit Bloomfilters(QObject *parent = 0);
>> >
>> >     void generateFilter() ;
>> >
>> >     Q_INVOKABLE void insertElement(const QString &cadena) ;
>> >
>> >     Q_INVOKABLE bool checkElement(const QString &cadena) ;
>> >
>> >
>> >
>> >
>> > signals:
>> >
>> >
>> > public slots:
>> >
>> > private:
>> >     bloom_parameters _parameters ;
>> >     bloom_filter _filter;
>> >     bool _filter_charged;
>> >     QString _k;
>> > };
>> >
>> > #endif // BLOOMFILTERS_H
>> >
>> >
>> >
>> > An I try to connect this with my sailfish application with the code:
>> >
>> >         QGuiApplication *app = SailfishApp::application(argc, argv);
>> >         QQuickView *view = SailfishApp::createView();
>> >         Bloomfilters  * bloomfilters = new Bloomfilters();
>> >         view->rootContext()->setContextProperty("Bloomfilters",
>> > bloomfilters);
>> >         view->setSource(SailfishApp::pathTo("qml/bloomfilter.qml"));
>> >         view->showFullScreen();
>> >         return app->exec();
>> >
>> > But this is not working.
>> >
>> > Someone have any idea about what am I doing wrong?
>> >
>> > Best Regards!
>> >
>> >
>> >
>> > _______________________________________________
>> > SailfishOS.org Devel mailing list
>> 
>> 
>> 
>> -- 
>> Luciano Montanaro
>> 
>> Anyone who is capable of getting themselves made President should on
>> no account be allowed to do the job. -- Douglas Adams
>
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>
>
>_______________________________________________
>SailfishOS.org Devel mailing list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20140226/57b92e82/attachment.html>


More information about the Devel mailing list