[Qt-qml] Getting a list of strings from plugin

Toni Leppänen toni.leppanen at gmail.com
Thu Sep 30 12:01:51 CEST 2010


I'm trying to return a list of strings from a plugin. I'm getting an
error when trying to access the list:
foo.qml:13: TypeError: Result of expression 'list' [undefined] is not an object.

Can someone help me how to do this? Here's a simplified example what I've tried:

foo.h
-----
#include <QObject>
#include <QString>
#include <QDebug>

class Foo : public QObject
{
  Q_OBJECT

  public:
    Foo(QObject * parent = 0);
    ~Foo();

    Q_INVOKABLE QList<QString> getList();
};


foo.cpp
-------
#include "foo.h"

Foo::Foo(QObject * parent) : QObject(parent) {}

Foo::~Foo() {}

QList<QString> Foo::getList()
{
    QList<QString> list;
    list << "aa" << "bb";

    return list;
}


foo.qml
-------
import Foo 1.0
import Qt 4.7

Item {
    property variant list: []

    Foo {
        id: plugin
    }

    Component.onCompleted: {
        list = plugin.getList();
        console.debug(list[0]);
        console.debug(list[1]);
    }
}

Cheers,
Toni



More information about the Qt-qml mailing list