Народ, подскажите в чём тут ошибка. Уже кучу материала перерыл, а всё равно не пашет. Проблема в том что класс test не виден из скрипта. На выводе я всё время получаю "ReferenceError: test is not defined".
#include <QtGui>
#include <QtScript>
class test : public QObject
{
Q_OBJECT
Q_PROPERTY(bool boo READ tr)
public:
bool t;
test(){t = true;};
public slots:
bool tr(){return t;};
};
int main ( int argc, char** argv )
{
QApplication app ( argc, argv );
QScriptEngine se;
QScriptValue v = se.evaluate("tst = new test(); if(tst.boo){print('1')}else{print('2')}");
qDebug() << v.toString();
return app.exec();
}
#include <QtScript>
class test : public QObject
{
Q_OBJECT
Q_PROPERTY(bool boo READ tr)
public:
bool t;
test(QObject *p = 0) : QObject(p){t = false;};
public slots:
bool tr(){return t;};
};
Q_SCRIPT_DECLARE_QMETAOBJECT(test, QObject*)
int main ( int argc, char** argv )
{
QScriptEngine se;
QScriptValue mytestclass = se.scriptValueFromQMetaObject<test>();
se.globalObject().setProperty("test", mytestclass);
QScriptValue v = se.evaluate("tst = new test(); if(tst.boo){print('1')}else{print('2')}; tst;");
qDebug() << v.toString();
return 0;
}
#include "main.moc"
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)