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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как объект вернуть в скрипт ?  (Прочитано 6388 раз)
heiheshang
Гость
« : Июнь 05, 2009, 08:50 »

Пытаюсь в скрипт вернуть свой объект
В документации написанно что объект надо зарегить с помошью макроса
Код:
qScriptRegisterMetaType
и ему передать две функции
Код:
toScriptValueaForm
fromScriptValueaForm
как правильно реализовать эти функции ?
Пытаюсь сделать так
Код:
Q_DECLARE_METATYPE(aForm*) //Мой класс aForm
QScriptValue toScriptValueaForm(QScriptEngine *eng, const aForm &ba)
{
    QScriptValue ctor = eng->globalObject().property("Current");
    aForm *cls = qscriptvalue_cast<aForm*>(ctor.data());
    if (!cls)
        return eng->newVariant(qVariantFromValue(ba));
}

void fromScriptValueaForm(const QScriptValue &obj, aForm &ba)
{
    Как тут вернуть ba типа aForm из QScriptValue &obj ?
}
Записан
heiheshang
Гость
« Ответ #1 : Июнь 05, 2009, 12:33 »

Опять отвечаю сам себе
Код:
QScriptValue toScriptValueaForm(QScriptEngine *eng, aForm* const &ba)
{
    return eng->newQObject(ba);
}

void fromScriptValueaForm(const QScriptValue &obj, aForm* &ba)
{
    ba = qobject_cast<aForm*>(obj.toQObject());
}
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #2 : Июнь 06, 2009, 21:07 »

Если долбишь ананас, то почему бы не задавать вопросы на его форуме?
А то они там совсем обленились...
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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