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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: "Умные" переменные в срипте  (Прочитано 15584 раз)
SASA
Гость
« Ответ #15 : Ноябрь 15, 2008, 17:26 »

Это можно сделать, даже разными способами, если еще интересуеет объясню как.

Конечно!!!!!!!!!!!!!!!

Я, правда, придумал способ, но только один . Собирался написать как я сделал это.
Записан
Detonator
Гость
« Ответ #16 : Ноябрь 15, 2008, 18:33 »

1) можно установить set-метод на это свойство
QScriptValue::setProperty(name, value, QScriptValue::PropertySetter)
2) можно подсунуть объекту (global или activated или this, как вам больше нравится) в качестве фонового QObject с нужным свойством:
QScriptEngine::newQObject(scriptObject, qtObject)
3) можно установить объекту QScriptClass и обрабатывать присваивание/чтение руками
QScriptValue::setScriptClass(scriptClass)


У себя я пошел путем 2), абсолютно всем объектам вешаваю фоновый объект производный от QObject который отслеживает изменения всех свойств. Заодно у всех объектов теперь появился сигнал updated(), который срабатывает при изменении любого свойства, и дополнительные методы которые позволяют проверить какое именно свойство было изменено и какое было старое значение этого свойства.
« Последнее редактирование: Ноябрь 15, 2008, 18:38 от Detonator » Записан
SASA
Гость
« Ответ #17 : Ноябрь 17, 2008, 10:24 »

Я пошёл путём номер раз.Скоро напишу подробно.
Про три - а как это? В двух словах.
Про два - подробней можно. С примерчиком.
Записан
Detonator
Гость
« Ответ #18 : Ноябрь 17, 2008, 12:05 »

Ну в документации же все описано, смотри подробности функций которые я привел.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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