Название: QTScript Отправлено: edg3 от Апрель 21, 2011, 22:55 как вызвать функцию QTScript'a в основной программе QT,которая принимает один параметр, и возвращает его?
Название: Re: QTScript Отправлено: Denjs от Апрель 22, 2011, 00:09 ассистант. статьи раздела QScriptEngine и рядом с ними. Там есть примеры.
не? Код: QScriptEngine myEngine; Ещё Можно погрузить в скриптовый движок ваш объект и просто запустить скрипт, который с ним поработает. Ещё Можно погрузить в скрипт ваш объект, подключить его сигнал к обработчику-функции написанной на скрипте, и испустить сигнал. Название: Re: QTScript Отправлено: edg3 от Апрель 22, 2011, 00:18 не смог разобраться, как из файла скрипта все считать.
Название: Re: QTScript Отправлено: Denjs от Апрель 22, 2011, 00:19 вы не можете прочитать содержимое файла в QString ?
Название: Re: QTScript Отправлено: Denjs от Апрель 22, 2011, 00:38 Цитировать зі. если кому интересно, стоит задача построить график по заданной формуле. Для построения графика использую Qwt, а чтобы не писать парсер, решил просто вызывать функцию Lua, где будет записана форуме по которой считать. вы эту задачу пытаетесь решить?погрузите в скриптовый движок объект который будет связующим звеном между вашей программой и скриптом. У объекта пусть будет сигнал calculate(int x), и слот result(int x, int y) Код: class myProxy(.... ) Код: QScriptEngine myEngine; Теперь, в принципе пока вы не уничтожите myEngine, вызов в основной программе myObject.callF() будет приводить к обмену сигналами и вызову у вашего объекта слота result()... там надо перечитать насчет того, с какой момент скриптовый движок считает что скрипт закончил работу, и как его убедить не прерывать "исполнение" скрипта пока нам надо... Как я понимаю, через qScriptConnect() можно подключить сигнал непосредственно к функции внутри скрипта, но с этим я не эксперементировал. Может что-то и напутал... не обессудьте, писал по быстрому... Название: Re: QTScript Отправлено: Denjs от Апрель 22, 2011, 01:09 но на самом деле все ещё проще.
читаем статью ассистанта про QScriptValue::call() Идеально ваш пример: ;D Код: QScriptEngine engine; читать ассистант! ковырять его до посинения!!!!! ВСЕЕМ!!!! ;D Название: Re: QTScript Отправлено: edg3 от Апрель 24, 2011, 15:14 Спс, за помощь, но ещё одно)
как сделать чтобы в функция синуса в QTSript вызывалась не как Math.sin() а просто sin() ? зы. предполагалось, чтобы я в программе ввел функцию, она запишется в скрипт файл, и вызовет скрипт программа. Название: Re: QTScript Отправлено: asvil от Апрель 25, 2011, 09:19 Один из способов.
Код: QScriptEngine engine; Код: QScriptEngine engine; |