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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QtScript: конструктор для QObject  (Прочитано 2724 раз)
0...-5
Гость
« : Апрель 29, 2012, 14:23 »

Здравствуйте! Я обернул функцию-конструктор класса следующим образом:
Код:
QScriptValue Pos(QScriptContext *context, QScriptEngine *engine)
{
    context->thisObject().setProperty("x", context->argument(0));
    context->thisObject().setProperty("y", context->argument(1));
    context->thisObject().setProperty("z", context->argument(2));
    return engine->undefinedValue();
}
и добавил ее к движку:
Код:
QScriptValue proto = engine.newQObject(new CPos());
engine.setDefaultPrototype(qMetaTypeId<CPos*>(), proto);
engine.globalObject().setProperty("Pos", engine.newFunction(Pos, proto));
Попробовав выполнить простейший скрипт
Код:
var p1 = new Pos(1, 2, 3);
var p2 = new Pos(10, 20, 30);
обнаружил, что свойства объекта p1 инициализируются значениями из второго конструктора (10, 20, 30), то есть объект context->thisObject() при вызове второго конструктора не переключается на p2. В чем причина?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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