Russian Qt Forum
Ноябрь 22, 2024, 11:14
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt Script, QtWebKit
>
Встраиваемый скриптовый язык для Qt
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Встраиваемый скриптовый язык для Qt (Прочитано 5459 раз)
RomiX
Гость
Встраиваемый скриптовый язык для Qt
«
:
Май 29, 2012, 20:09 »
Здравствуйте, начинаю разрабатывать один проект, и в нём жизненно необходим интерпретатор какого либо языка. Также необходима возможность запуска нескольких скриптов одновременно, смотрел в сторону PythonQt, но не уверен насчёт многопоточности, также он по ходу использует старый питон, и у меня даже не получилось его скомпилировать (пытался поставить Python2.6 в ubuntu 12.04 и в процессе снёс пол системы). QtScript как я понимаю уже не разрабатывается...
Также мне очень понравился PicoC, но я даже не знаю как к нему подступить из Qt, да и вообще не из линукса тоже.
Что можете посоветовать?
В программе скрипты будут выполняться при происхождении какого либо события, также скрипт должен иметь возможность передать сообщение (вызвать функцию например) основной программе. События могут происходить независимо друг от друга, по этому и нужна возможность независимого выполнения.
В идеале я себе представляю это как класс, например Interpreter, таких классов можно создать сколько угодно, задать каждому скрипт с которым он работает, и в нужный момент вызывать например метод execute("my_function(a,b,c);") (ну или запускать на выполнение весь скрипт целиком), а если скрипт хочет передать данные программе, то эти данные приходят в виде сигналов Qt.
Очень надеюсь на помощь, а то работа стоит((
Записан
V1KT0P
Гость
Re: Встраиваемый скриптовый язык для Qt
«
Ответ #1 :
Май 29, 2012, 20:13 »
В играх почти стандартом стало делать скрипты на Lua.
Записан
RomiX
Гость
Re: Встраиваемый скриптовый язык для Qt
«
Ответ #2 :
Май 29, 2012, 20:48 »
о! это уже куда ближе к теме, спс, буду пробовать
Записан
Bepec
Гость
Re: Встраиваемый скриптовый язык для Qt
«
Ответ #3 :
Май 29, 2012, 22:46 »
Lua превосходен. Всего за полчаса я сумел решить проблему за денежку
Чисто благодаря его Си подобности.
Записан
DmitryM
Гость
Re: Встраиваемый скриптовый язык для Qt
«
Ответ #4 :
Май 30, 2012, 10:24 »
Цитата: RomiX от Май 29, 2012, 20:09
Здравствуйте, начинаю разрабатывать один проект, и в нём жизненно необходим интерпретатор какого либо языка. Также необходима возможность запуска нескольких скриптов одновременно, смотрел в сторону PythonQt, но не уверен насчёт многопоточности, также он по ходу использует старый питон, и у меня даже не получилось его скомпилировать (пытался поставить Python2.6 в ubuntu 12.04 и в процессе снёс пол системы). QtScript как я понимаю уже не разрабатывается...
Также мне очень понравился PicoC, но я даже не знаю как к нему подступить из Qt, да и вообще не из линукса тоже.
Что можете посоветовать?
CPython встраивается в любые С/С++ приложения. Чем QtScript не устраивает не понятно.
Записан
navrocky
Гипер активный житель
Offline
Сообщений: 817
Погроммист
Re: Встраиваемый скриптовый язык для Qt
«
Ответ #5 :
Май 30, 2012, 11:17 »
При выборе языка надо учитывать еще и фактор наличия стандартной библиотеки. Например, при использовании QtScript её совершенно нет, поэтому надо все необходимые классы пробрасывать из своего плюсового кода. А при использовании питона сразу в довесок получаешь большую библиотеку (работа с интернет сервисами, и т.д.).
Насчет Lua ничего не скажу, вроде бы там тоже голый интерпретатор.
Питон можно заюзать также через буст, сам не пробовал, но говорят - очень просто (проброс своих классов в питон).
Если использование сторонних функций не предусматривается, только скриптование внутренних механизмов, то я бы всё-таки предпочел QtScript, чтобы не тянуть лишние зависимости в проект.
Записан
Гугль в помощь
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...