Страницы

Поиск по вопросам

понедельник, 17 июня 2019 г.

Как прикрутить скриптинг Python к приложению, написанному на c++?

Есть приложение, написанное с нуля на c++ и Qt 5. Нужно добавить скриптинг на Python в стиле 3ds max, то есть так:
Набираем скрипт во встроенном в приложение редакторе. Сохраняем его. Нажимаем кнопку Evaluate и выполяем скрипт.
Выполняем так, чтобы иметь доступ из одного скрипта ко всей объектной модели приложения. Я нашёл уроки, но ситуация плачевная: требуется extension - чтобы приложение изначально было написано на Python. В противном случае совет один: берётся метод на c++ и с нужным числом аргументов вызывается такой же метод на Python, при этом кроме аргументов я в Python ничего не имею. Как из встроенного Python получить доступ ко всей объектной модели приложения?


Ответ

Питон в приложение встраивается примерно так:
#include
int main(int argc, char *argv[]) { Py_SetProgramName(argv[0]); /* optional but recommended */ Py_Initialize(); PyRun_SimpleString("from time import time,ctime
" "print 'Today is',ctime(time())
"); Py_Finalize(); return 0; }
Больше - в официальной документации https://docs.python.org/2/extending/embedding.html

Комментариев нет:

Отправить комментарий