[SailfishDevel] QML C++ Integration not working in Sailfish
Martin Grimme
martin.grimme at gmail.com
Wed Feb 26 07:51:01 UTC 2014
2014-02-25 16:39 GMT+01:00, Andrey Kozhevnikov <coderusinbox at gmail.com>:
> ???
>
> contextProperty should be set BEFORE loading QML source.
You're right, sorry! I must have confused something. I shouldn't
answer mails while on train. :)
Martin
>
> On 25.02.2014 21:33, martin.grimme at gmail.com wrote:
>> Hi,
>>
>> you should set the context property after loading the QML source. Then it
>> ought to be available from QML.
>>
>> Martin
>>
>>
>> Am Tue Feb 25 2014 15:06:39 GMT+0100 (CET) schrieb
>> antonio.cano.gomez at ovi.com:
>>> 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
>
More information about the Devel
mailing list