Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/88: Рейтинг темы: голосов - 88, средняя оценка - 4.70
93 / 93 / 33
Регистрация: 17.03.2012
Сообщений: 536

Выполнение Python в Qt

26.01.2017, 13:41. Показов 16842. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток,
Пытаюсь понять, как прикрутить какой-либо python-скрипт к своему приложению на с++, скрипт будет использовать либу питоновскую, за этим, собственно, и возникла такая необходимость
На ум пока, из понятных мне вариантов, приходит использовать QProcess и подобное
Гугл смотрел, ничего не понял
PythonQt - то, что мне нужно? а PyQt совсем другая штука?
По сути, хочу закинуть в скрипт несколько (возможно, много) параметров, и из стдаута считать результат работы
Но что все-таки представляет из себя PythonQt и как мне его подключить, что должно быть в про-файле, чтоб как в документации мог просто инклюдить
C++ (Qt)
1
#include "PythonQt.h"
?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.01.2017, 13:41
Ответы с готовыми решениями:

Выполнение Python-скрипта нажатием кнопки
Добрый день! Только начал изучать фреймворк Джанго. Подскажите пожалуйста каким образом будем выглядеть реализация подобного. Есть две...

Выполнение запроса SQL в python-файле
бд sqlite, python 3.7 Есть вот такой запрос: SELECT id, LastName, FirstName from employees WHERE strftime('%m',DOB) =...

Python выполнение программы несмотря на ошибку
Сразу скажу что я в python не силен. Я пишу программу с Selenium Webdriver, и по ходу использования в цикле функции find_element_by_id...

24
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.07.2017, 13:56
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Olex Посмотреть сообщение
питоньи при сборке буста участвуют 100% как я понял
Ну так вы их не указали.
Цитата Сообщение от Olex Посмотреть сообщение
А каких библиотек буста не хватает?
А мне откуда знать?
Цитата Сообщение от Olex Посмотреть сообщение
Может какие то инклуды буста общего характера? ))) Есть такие?
При чем тут инклюды? я говорю не хватает указания *.lib файлов в LIBS

Добавлено через 17 секунд
Цитата Сообщение от Olex Посмотреть сообщение
питоньи при сборке буста участвуют 100% как я понял
Ну так вы их не указали.
Цитата Сообщение от Olex Посмотреть сообщение
А каких библиотек буста не хватает?
А мне откуда знать?
Цитата Сообщение от Olex Посмотреть сообщение
Может какие то инклуды буста общего характера? ))) Есть такие?
При чем тут инклюды? я говорю не хватает указания *.lib файлов в LIBS
0
19 / 19 / 4
Регистрация: 27.05.2013
Сообщений: 119
06.07.2017, 14:19
Цитата Сообщение от Avazart Посмотреть сообщение
Сообщение от Olex
питоньи при сборке буста участвуют 100% как я понял

Ну так вы их не указали.
Еслиб я их не указал или не правильно то бустовский
libboost_python3-mgw53-mt-d-1_64.a
все равно получился бы?

там при сборке буста пишется в user-config.jam что то нечто
# Configure specific Python version.
using python : 3.6 : C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\python.exe : C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\include : C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\libs ;

П.с.
Конечно я попробовал как Вы говорили указать в проекте питоновские либы все вместе и по отдельности.

не получается...

Добавлено через 16 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
Сообщение от Olex
питоньи при сборке буста участвуют 100% как я понял

Ну так вы их не указали.
Еслиб я их не указал или не правильно то бустовский
libboost_python3-mgw53-mt-d-1_64.a
все равно получился бы?

там при сборке буста пишется в user-config.jam что то нечто
# Configure specific Python version.
using python : 3.6 : C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\python.exe : C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\include : C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\libs ;

П.с.
Конечно я попробовал как Вы говорили указать в проекте питоновские либы все вместе и по отдельности.

не получается...
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.07.2017, 15:15
Цитата Сообщение от Olex Посмотреть сообщение
Еслиб я их не указал или не правильно то бустовский
Нет.


Я вот про это:
C:\\Users\\AN\\AppData\\Local\\Programs\ \Python\\Python36\\libs
Добавлено через 3 минуты
Кроме того еще бинарники должны быть видны.
0
19 / 19 / 4
Регистрация: 27.05.2013
Сообщений: 119
07.07.2017, 13:35
проблема похоже в том что буст-пайтон библиотека собирается не верно
сейчас прописал в user-config.jam Python 2.7 вместо 3.6, библиотека буста в итоге получается такая же. Ну почти такая, мелкая в 500 кб, разные байты только где то в заголовке
не знаю почему
0
19 / 19 / 4
Регистрация: 27.05.2013
Сообщений: 119
12.07.2017, 00:02
Отпишусь.
уже все чуть лучше.
к boost python вопросов нет, работает.
Проблема с библиотеками python в версии 3.6.0 - 3.6.2, под виндой компиллятор не находит функцию Py_Initialize();, не знаю почему. Поставил 2.7 и вуаля все работает. Под маком никаких проблем нет с 3.6...

Мои проблемы о которых шла речь выше, скорее всего были вызваны не правильным подключением библиотек
Проходит только подобная запись
LIBS += -L/Library/Frameworks/Python.framework/Versions/3.6/lib -lpython3.6 (вариан мака)
никаких полных насваний вместе с путями и кавычками

для вызова пайтона из с++ достаточно подключить две библиотеки, пайтона и соответствующую буста, и всего несколько строк кода
C++
1
2
3
4
5
6
7
8
9
    #include<boost/python.hpp>
 
    //.................
 
    Py_Initialize();
    boost::python::object main_module = boost::python::import("__main__");
    boost::python::object main_namespace =  main_module.attr("__dict__");
    boost::python::object ignored =  boost::python::exec("print('Hello from PYTHON')",
                            main_namespace);
Ради интереса измерял время за которое происходит вызов print('Hello from PYTHON')
на моем 2,9 GHz Intel Core i7 ничтожно мало - 0 msecs
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.07.2017, 00:02

Python 3.6 как ускорить выполнение программы?
Не так давно программирую, решаю олимпиадную задачу, но суть в том что моя программа выполняется дольше необходимого времени. Может кто...

Как ускорить выполнение программы на Python?
Есть алгоритм, далеко не оптимальный. Время исполнения в принципе устраивает. Учитывая что питон интерпретируемый. Но хотелось бы...

Python 3.6 как ускорить выполнение программы?
Решаю олимпиадную задачу, нужно чтобы программа выполнялась за 1 секунду. Суть задачи: Нужно сделать приглашения, на каждое приглашение...

Выполнение методов perl pack/unpack на языке python
Привет! Просьба оказать содействие, переписываю старые скрипты с perl на python, заглох на строке perl my ($host_ip) = unpack(...

Как сделать выполнение определенной части кода python, при вводе определенного значения
Как сделать выполнение определенной части кода python, при вводе определенного значения Нужно, чтобы было примерно так: После запуска...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru