Интеграция консоли Python в приложение C++ GUI

Я собираюсь добавить консольный виджет Python (в GUI C++) ниже некоторых других средств управления: Python Console screenshot

Много классов будут выставленными коду Python, включая некоторый доступ к GUI (возможно, я рассмотрю PyQt).

Я должен выполнить код Python в отдельном потоке?

Я думаю, что это - хороший подход, потому что GUI не будет заморожен, в то время как выполнение долго управляет. Но с другой стороны, разве другие средства управления не должны быть отключены, чтобы сохранить состояние объектов и избежать конфликтов?

25
задан Community 8 February 2017 в 14:19
поделиться

1 ответ

Так как вы, очевидно, хотите встроить интерпретатор Python для использования Python в качестве языка сценариев в то, что кажется приложением Qt, я предлагаю вам взглянуть на PythonQt.

С модулем PythonQt, скрипты на Python смогут взаимодействовать с графическим интерфейсом вашего приложения.

В отличие от PyQt и Qt Jambi, PythonQt не разработан для обеспечения поддержки разработчиков, пишущих автономные приложения. Вместо этого, он предоставляет средства для встраивания интерпретатора Python и фокусируется на том, чтобы сделать так, чтобы части приложения можно было легко экспонировать на Python.

Если я правильно понял ваши потребности, это всё, что вам нужно.

PyQt и PySide (официально поддерживается Nokia) нацелены на доступ к возможностям Qt из программы на Python путём предоставления привязки.

Возможно встроить PyQt в ваше приложение (даже в приложение Qt) и ваши скрипты на Python будут способны предоставить свой собственный GUI во время взаимодействия с API сценариев вашего приложения.

О потокобезопасности Qt предлагает потокобезопасный способ отправки сообщений о событиях, и соединения сигнальных слотов между потоками.

Ссылки:

13
ответ дан 28 November 2019 в 21:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: