crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику d2r ::: Спасибо сказали: 1 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
16.2.2012, 10:11 Передача параметров C++ -> QML
Собери нужные параметры в один класс, например

class MyClass: public QObject
{
    Q_OBJECT

public:
    explicit MyClass();
    virtual ~MyClass();

    Q_INVOKABLE QString getText();
    Q_INVOKABLE QString getColor();
    Q_INVOKABLE bool getVisiblerow1();
private:
    QString text;
    QString color;
    bool visiblerow1;
}


методы get...() будут отдавать в QML значения, специально объявляются с макросом Q_INVOKABLE, их ты и будешь вызывать из QML.
потом у твоего экземпляра QmlApplicationViewer вызываешь метод rootContext(), а у полученого объекта setContextProperty("MyClass",m_obj)
как-то так:
  MyClass *m_obj = new MyClass(view);
  qmlApplicationViewer->rootContext()->setContextProperty("MyClass",m_obj);

Первым параметром в setContextProperty("MyClass",m_obj) будет строка с именем этого класса в QML, и далее вызов из QML:
Model {
text: MyClass.getText();
color:MyClass.getColor();
visiblerow1: MyClass.getVisiblerow1();
}


crazymonkey,

RSS Текстовая версия Сейчас: 18.2.2025, 3:25