[SailfishDevel] Accessing C++ properties from QML

Antonio Mancini ziobilly94 at gmail.com
Thu Aug 13 13:14:29 UTC 2015


Hi all, i need to access a property of a C++ Class, declared inside another
class, from QML.

This is the principal class:

#ifndef MANAGER_H
> #define MANAGER_H
>
> #include <QObject>
> #include <QTextStream>
> #include <QFile>
> #include "monster.h"
> #include "move.h"
> #include "turnmanager.h"
>
>
> class Manager : public QObject
> {
>     Q_OBJECT
>
> public:
>     explicit Manager(QObject *parent = 0);
>
>     int activeId;
>     QString activeString;
>
>     int enemyId;
>
>     Monster active;
>     Monster enemy;
>
>     Move activeMove;
>     Move enemyMove;
>
>     Q_INVOKABLE void saveActive();
>     Q_INVOKABLE void fetchMonster( const int &level );
>     Q_INVOKABLE void assignMoves(Monster &monster );
>     Q_INVOKABLE void setMove( Move &move, const int &id );
>
> signals:
>
>     void fetchMonsterDone();
>
> public slots:
>
> };
>
> #endif // MANAGER_H
>

this is the Monster Class:

#ifndef MONSTER_H
> #define MONSTER_H
>
> #include <QObject>
> #include <QString>
> #include <math.h>
> #include "move.h"
>
>
> class Monster : public QObject
> {
>     Q_OBJECT
>
> public:
>
>     explicit Monster(QObject *parent = 0);
>
>     ...
>
>     QString name;
>
>     ...
> };
>
> #endif // MONSTER_H
>

in my qml page i include the class properly and i have something like this:

Page {
>
    id: page
>
    Manager {
>
        id: manager
>
        onFetchMonsterDone: {
>
             console.log("Fetch done")
>         }
>
    }
>
    Label {
>
        id: label
>
    }
>
}
>

after doing some operations with fetchMonster(), the "active" class has
been assigned some values to its properties, i need to access these values
from QML in the "onFetchMonsterDone", let's say i need to assign to
label.text the value of manager.active.name

OR

i read there are some ways to access end edit QML properties from C++

Can someone help me?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20150813/ce1a6096/attachment.html>


More information about the Devel mailing list