for properties system you should use Q_PROPERTY macro inside your class.

------ Исходное сообщение ------
От: "Antonio Mancini" <ziobill...@gmail.com>
Кому: "Sailfish OS Developers" <devel@lists.sailfishos.org>
Отправлено: 13.08.2015 18:14:29
Тема: [SailfishDevel] Accessing C++ properties from QML

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?
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to