Russian Qt Forum
Сентябрь 22, 2024, 19:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: мой класс в скрипте  (Прочитано 4123 раз)
qt2010
Гость
« : Август 02, 2010, 20:54 »

класс

class TMyObj: public QObject
{
Q_OBJECT
public:
TMyObj();

QVector3D pos, dir;

Q_INVOKABLE void Save();
};

main()
{
QScriptEngine eng;

QScriptValue result = eng.evaluate( "var obj = new TMyObj();" );
}


/////////////////

выдает ошибку: cant find variable: TMyObj

что может быть? ведь унаследованные от QObject должны быть видимы в скрипте, не так ли? и как быть?
Записан
SABROG
Гость
« Ответ #1 : Август 02, 2010, 21:22 »

Ты забыл сообщить движку скрипта о существовании своего класса:

Код
C++ (Qt)
Q_SCRIPT_DECLARE_QMETAOBJECT(TMyObj, QObject*)
...
QScriptValue myObj = eng.scriptValueFromQMetaObject<TMyObj>();
eng.globalObject().setProperty("TMyObj", myObj);
 

http://developer.qt.nokia.com/faq/answer/how_can_i_instantiate_new_objects_in_my_qt_script_code
Записан
qt2010
Гость
« Ответ #2 : Август 03, 2010, 09:48 »

Спасибо, работает!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.19 секунд. Запросов: 20.