Russian Qt Forum

Qt => Qt Script, QtWebKit => Тема начата: RomiX от Май 29, 2012, 20:09



Название: Встраиваемый скриптовый язык для Qt
Отправлено: RomiX от Май 29, 2012, 20:09
Здравствуйте, начинаю разрабатывать один проект, и в нём жизненно необходим интерпретатор какого либо языка. Также необходима возможность запуска нескольких скриптов одновременно, смотрел в сторону PythonQt, но не уверен насчёт многопоточности, также он по ходу использует старый питон, и у меня даже не получилось его скомпилировать (пытался поставить Python2.6 в ubuntu 12.04 и в процессе снёс пол системы). QtScript как я понимаю уже не разрабатывается...
Также мне очень понравился PicoC, но я даже не знаю как к нему подступить из Qt, да и вообще не из линукса тоже.
Что можете посоветовать?

В программе скрипты будут выполняться при происхождении какого либо события, также скрипт должен иметь возможность передать сообщение (вызвать функцию например) основной программе. События могут происходить независимо друг от друга, по этому и нужна возможность независимого выполнения.

В идеале я себе представляю это как класс, например Interpreter, таких классов можно создать сколько угодно, задать каждому скрипт с которым он работает, и в нужный момент вызывать например метод execute("my_function(a,b,c);") (ну или запускать на выполнение весь скрипт целиком), а если скрипт хочет передать данные программе, то эти данные приходят в виде сигналов Qt.

Очень надеюсь на помощь, а то работа стоит((


Название: Re: Встраиваемый скриптовый язык для Qt
Отправлено: V1KT0P от Май 29, 2012, 20:13
В играх почти стандартом стало делать скрипты на Lua.


Название: Re: Встраиваемый скриптовый язык для Qt
Отправлено: RomiX от Май 29, 2012, 20:48
о! это уже куда ближе к теме, спс, буду пробовать


Название: Re: Встраиваемый скриптовый язык для Qt
Отправлено: Bepec от Май 29, 2012, 22:46
Lua превосходен. Всего за полчаса я сумел решить проблему за денежку ;) Чисто благодаря его Си подобности.


Название: Re: Встраиваемый скриптовый язык для Qt
Отправлено: DmitryM от Май 30, 2012, 10:24
Здравствуйте, начинаю разрабатывать один проект, и в нём жизненно необходим интерпретатор какого либо языка. Также необходима возможность запуска нескольких скриптов одновременно, смотрел в сторону PythonQt, но не уверен насчёт многопоточности, также он по ходу использует старый питон, и у меня даже не получилось его скомпилировать (пытался поставить Python2.6 в ubuntu 12.04 и в процессе снёс пол системы). QtScript как я понимаю уже не разрабатывается...
Также мне очень понравился PicoC, но я даже не знаю как к нему подступить из Qt, да и вообще не из линукса тоже.
Что можете посоветовать?
CPython встраивается в любые С/С++ приложения. Чем QtScript не устраивает не понятно.


Название: Re: Встраиваемый скриптовый язык для Qt
Отправлено: navrocky от Май 30, 2012, 11:17
При выборе языка надо учитывать еще и фактор наличия стандартной библиотеки. Например, при использовании QtScript её совершенно нет, поэтому надо все необходимые классы пробрасывать из своего плюсового кода. А при использовании питона сразу в довесок получаешь большую библиотеку (работа с интернет сервисами, и т.д.).

Насчет Lua ничего не скажу, вроде бы там тоже голый интерпретатор.

Питон можно заюзать также через буст, сам не пробовал, но говорят - очень просто (проброс своих классов в питон).

Если использование сторонних функций не предусматривается, только скриптование внутренних механизмов, то я бы всё-таки предпочел QtScript, чтобы не тянуть лишние зависимости в проект.