qmlRegisterType 函数 又没人成功编译过的?
在官网上找了个demo 有关qmlRegisterType
无论如何都无法编译通过,我看了assistant 其是 QDeclarativeEngine下的一个函数,但一直报错。
我那些库没添加》?
#include <QtDeclarative/QDeclarativeView>#include <QtDeclarative/QDeclarativeListProperty>#include <QMetaObject>#include <QtDeclarative/QtDeclarative>#include <QtGui> #include <QObject> #include <QtDeclarative/QDeclarativeEngine>class MyObject : public QObject { Q_OBJECT Q_PROPERTY(QDeclarativeListProperty<MyObject> getInfo READ getInfo CONSTANT)public: MyObject() {} ~MyObject() {} QDeclarativeListProperty<MyObject> getInfo() { for (int i = 0; i < 10; ++i) { list << new MyObject(); } return QDeclarativeListProperty<MyObject>(this, 0, &MyObject::appendObject, 0, 0, &MyObject::clearObject); } static void appendObject(QDeclarativeListProperty<MyObject> *l, MyObject *obj) { MyObject *object = qobject_cast<MyObject *>(l->object); if (object) object->list << obj; } static void clearObject(QDeclarativeListProperty<MyObject> *l) { MyObject *object = qobject_cast<MyObject *>(l->object); if (object) { foreach (MyObject *o, object->list) delete o; object->list.clear(); } } QList<MyObject *> list; }; //#include "main.moc" int main(int argc, char** argv) { QApplication app(argc, argv); QDeclarativeView view; qmlRegisterType<MyObject>("QtQuick", 1, 0, "MyObject"); // [color=#FF0000] //问题处,这丫的东西该怎么用啊。 [/color] view.setSource(QUrl::fromLocalFile("test.qml")); view.show(); return app.exec(); }