轻量级python解释器,易于嵌入qt应用程序

pyqtconsole的Python项目详细描述


pyqtconsole是qt应用程序的轻量级python控制台。它的制造目的 很容易嵌入到其他qt应用程序中,并附带了一些示例 展示了如何做到这一点。解释器可以在单独的线程中运行,在 ui主线程或gevent任务中的。还支持异步 然而,使用trollius,这仍处于实验阶段。

安装

只需键入:

pip install pyqtconsole

或者要从本地签出安装开发版本,请键入:

pip install -e .

简单用法

有关更多示例,请参见examples目录:

importsysfromthreadingimportThreadfromPyQt5.QtWidgetsimportQApplicationfrompyqtconsole.consoleimportPythonConsoleapp=QApplication([])console=PythonConsole()console.show()console.eval_in_thread()sys.exit(app.exec_())

嵌入

  • 单独的线程-在单独的线程中运行解释器,请参见 示例threaded.py。显然,在单独的线程中运行解释器 限制与qt应用程序的交互。qt需要的部分 从主线程调用将无法正常工作,但非常好 在qt应用程序中使用“普通”python控制台的方法。
  • main thread-在主线程中运行解释器,参见示例 inuithread.py。使与qt的完全交互成为可能,冗长的操作 当然会冻结ui(作为从 主线)。对于那些不想要的人来说,这是一个很好的选择 使用基于gevent的方法,但仍希望与qt完全交互。
  • gevent-在gevent任务中运行解释器,请参见示例 _gevent.py。允许与qt完全交互,无需特殊 考虑(至少在某种程度上)长时间运行的进程。这个 如果您想使用pyqtgraph、matplotlib、pymca或类似的工具,最好的方法。
  • trollius(asyncio)-在asyncio协程中运行解释器 _trollius.py。仍在实验中

学分

.qt子模块取自pyQode。并提供qt4和qt5 兼容性,控制台在qt4和qt5下测试。.qt接头 为了便于分发和提供 qt的第4版和第5版。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Kafka producer大量内存使用(泄漏?)   java NullPointerException。。。正在插入数据但无法检索数据[Mysql DB]   java spring+jpa+hibernate=没有可用于当前线程的实际事务的EntityManager无法可靠地处理“persist”调用   getelementbyid在没有ID的情况下如何在java中使用GetElementsById   java有没有一种使用WatchService强制轮询的方法?   java将值从jframe传递给另一个jframe并使用它   Java/Groovy中带重试的反应式事件处理   具有两个包装器元素的java Jackson XML ArrayList输出   java总是在范围内使用不同的随机元素   取消选择java下拉列表值   多线程如何在Java中为对象的不同成员拥有不同的同步块   java如何使用多线程从文本文件中读取输入   java Spring启动附加崩溃命令   java使用公共或单独的actionPerfomed方法有什么区别   java用Spring3.0中的SpEL替换JSP中的EL   java作为windows服务运行应用程序时无法访问共享文件夹   java xml 1.1规范中的“解析数据”是什么意思?   以编程方式设置JComboBox索引时java触发ItemListener   java Android WebView:只加载HTML,不加载JS或CSS(在某些设备中)   Java:计算do/while循环的数量