[snip] > >> That would be very nice :) > > First of all... the bug I was talking about is this > > https://bugreports.qt-project.org/browse/QTBUG-13047 > > But it seems to be fixed in Qt 4.7.1 > > > > Well... I'd use something like this: > > pathmodel.h > > > > class PathModel : public QStringListModel > > { > > public: > > explicit PathModel(QObject *parent = 0); > > };
> > util.h > > > > class Util : public QObject > > { > > Q_OBJECT > > Q_PROPERTY(QObject* pathModel READ pathModel CONSTANT) > > public: > > ... > > PathModel* pathModel() { return &m_pathModel; }; > > Q_INVOKABLE QString testString() { return "some_test_text"; } > > > > private: > > PathModel m_pathModel; > > }; > > with the downside of having to include the header for pathModel. > > As far as I know every variable, item, etc in QML is a QVariant. > > > > For QObject-derived classes their properties are exposed to QML and used > > through the QObject interface. > > -- > > Oke, i wasn't expecting that. I added the Q_PROPERTY(QObject* > pathModel READ pathModel CONSTANT) stuff to my code (and removed the > Q_INVOKABLE from my pathModel method), changed the code to use the new > property and amazingly it worked! > Why isn't this clearly documented _anywhere_? I certainly can use > google and know the Qt docs quite well, but i haven't found anything > that would indicate me to do it this way. Look here: http://doc.qt.digia.com/qt/qml-extending.html > Another question, how can i get the same stuff working as a function > call? Now it works as a Q_PROPERTY which is fine for my case, but i'm > just curious about the same for a function call. Well... for function call just use the following: class Util : public QObject { Q_OBJECT public: ... // PathModel* pathModel() { return &m_pathModel; }; // As I said, you use the QObject interface for your PathModel Q_INVOKABLE QObject* pathModel() { return &m_pathModel; }; Q_INVOKABLE QString testString() { return "some_test_text"; } private: PathModel m_pathModel; }; All these macros are described in the documentation for QObject http://doc.qt.digia.com/qt/qobject.html#Q_INVOKABLE See also: http://doc.qt.digia.com/qt/metaobjects.html#meta-object-system -- Robert Voinea Software Engineer +4 0740 467 262 Don't take life too seriously. You'll never get out of it alive. (Elbert Hubbard)
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest