привязка переменных в QtScript |
Здравствуйте, гость ( Вход | Регистрация )
привязка переменных в QtScript |
call_me_Frank |
28.7.2015, 17:18
Сообщение
#1
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет!
у меня есть некая карта или массив данных, например QHash<str,str>, в которой лежат пары имя_переменной - значение. Значения этих переменных меняются со временем. Как можно привязать значения этих переменных к переменным внутри скрипта - создать отображение этих данных в скрипте? Допустим, в карте лежит пара ("var_A", 56). Мне нужно, чтобы внутри скрипта у меня была переменная 'var_A' и значение её соответствовало значению внутри пары в любой момент времени. Сейчас у меня происходит запуск скрипта с некоторой периодичностью и перед каждым запуском приходится задавать переменную скрипта:
и меня это не очень устраивает ) что посоветуете? |
|
|
lanz |
28.7.2015, 21:35
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Можно создать QObject и передать его в скрипт,
все Property этого объекта будут синхронно менятся в C++ и в скрипте. http://doc.qt.io/qt-5/properties.html |
|
|
call_me_Frank |
29.7.2015, 10:09
Сообщение
#3
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
Можно создать QObject и передать его в скрипт, все Property этого объекта будут синхронно менятся в C++ и в скрипте. http://doc.qt.io/qt-5/properties.html Отличная идея! Похоже, это именно то, что мне и нужно P.S....но всё же не именно то, что мне хотелось бы )) к этим переменным придется обращаться через obj.property("var_A") вместо простого имени переменной. Можно же передать движку QObject лишь однажды, задать ему скриптовое имя и обращаться к нему при любом запуске скрипта. Для переменных попроще (типа int, string, double, ...) такой возможности нет? Сообщение отредактировал call_me_Frank - 29.7.2015, 10:21 |
|
|
Текстовая версия | Сейчас: 23.4.2024, 21:32 |