将Python控制台集成到GUI C++应用程序中

And*_*w T 25 c++ python integration user-interface multithreading

我将在一些其他控件下面添加一个python控制台小部件(进入C++ GUI): Python控制台截图

许多类将暴露给python代码,包括对GUI的一些访问(也许我会考虑PyQt).

我应该在一个单独的线程中运行Python代码吗?

我认为这是一个很好的方法,因为GUI在执行长命令时不会被冻结.但另一方面,是否应禁用其他控件来保留对象的状态并避免冲突?

Gre*_*osz 13

Since you're apparently wanting to embed a Python interpreter to use Python as a scripting language in a what seems to be a Qt application, I suggest you have a look at PythonQt.

With the PythonQt module, Python scripts will be able to interact with the GUI of your host application.

与PyQt和Qt Jambi不同,PythonQt不是为编写独立应用程序的开发人员提供支持.相反,它提供了嵌入Python解释器的工具,并专注于使应用程序的部分内容易于暴露给Python.

如果我理解你的需求,那就是你所需要的.

PyQt和PySide(由诺基亚正式支持)旨在通过提供绑定从Python程序访问Qt功能.

可以在您的应用程序(甚至是Qt应用程序)中嵌入PyQt,并且您的Python脚本将能够在与应用程序脚本API交互时提供自己的GUI.

关于线程安全性,Qt提供了一种线程安全的方式来发布事件和跨线程的信号槽连接.

参考文献: