Вопрос по QtScript и массивам ? |
Здравствуйте, гость ( Вход | Регистрация )
Вопрос по QtScript и массивам ? |
AntonTatu |
5.3.2009, 11:15
Сообщение
#1
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет .
Вот небольшой примерчик:
в нем с использованием QtScript в безымянную функцию передается значение переменных a и b, он работает, но.... Вопрос как в такую функцию передать двумерный массив типа Vector объявляю я его так: std::vector < std::vector <char> > *MyMassive; распределяю память так: MyMassive = new stdvector < std::vector <char> >(i, std::vector<char> j); заполняю требуемыми значениями так: (*MyMassive)[i][j] = чему нибудь передаю и использую в функциях C++ так:
Спасибо за ответы ! |
|
|
SABROG |
5.3.2009, 11:53
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Такое вот нашел в Assistante, может поможет:
Цитата int qScriptRegisterSequenceMetaType ( QScriptEngine * engine, const QScriptValue & prototype = QScriptValue() )
Registers the sequence type T in the given engine. This function provides conversion functions that convert between T and Qt Script Array objects. T must provide a const_iterator class and begin(), end() and push_back() functions. If prototype is valid, it will be set as the prototype of Array objects due to conversion from T; otherwise, the standard Array prototype will be used. Returns the internal ID used by QMetaType. You need to declare the container type first with Q_DECLARE_METATYPE(). If the element type isn't a standard Qt/C++ type, it must be declared using Q_DECLARE_METATYPE() as well. Example:
See also qScriptRegisterMetaType(). |
|
|
AntonTatu |
5.3.2009, 12:14
Сообщение
#3
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
мне блин с этим в жизнь не разобраться.....
|
|
|
Гость_BRE_* |
5.3.2009, 12:37
Сообщение
#4
|
Гости |
|
|
|
AntonTatu |
5.3.2009, 13:29
Сообщение
#5
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
а что теперь с этим делать ? как это будет работать в функции ? QScriptValue fun = engine.evaluate("function(a, B ){return a+b;}"); |
|
|
Гость_BRE_* |
5.3.2009, 13:44
Сообщение
#6
|
Гости |
а что теперь с этим делать ? как это будет работать в функции ? QScriptValue fun = engine.evaluate("function(a, B ){return a+b;}");
|
|
|
AntonTatu |
5.3.2009, 15:37
Сообщение
#7
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
Гость_BRE, огромное спасибо за помощь, только все равно не компилируется пишет ошибку в строчке:
где ошибка ?повторюсь, массив MyMassive создаю вот так:
для того что бы его заполнить вызываю его вот так:
спасибо заранее... |
|
|
Гость_BRE_* |
5.3.2009, 15:40
Сообщение
#8
|
Гости |
|
|
|
AntonTatu |
5.3.2009, 16:00
Сообщение
#9
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата
да я так писал то же причем в коде
|
|
|
Гость_BRE_* |
5.3.2009, 16:06
Сообщение
#10
|
Гости |
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 1:23 |