我正在尝试学习如何使用pyqtgraph并尝试运行上述文档中给出的以下第一个简单示例:
#!/usr/bin/env python3
import pyqtgraph as pg
import numpy as np
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
pg.plot(x,y,pen=None,symbol='o',title='first graph')
我在具有Raspbian Stretch的Raspberry Pi 3上使用python 3.5.3。
如果我在Thonny或IDLE中运行上述程序,则该程序运行时不会出现任何错误,但不会显示任何输出。
类似地,如果我通过简单地调用程序名称(已使用chmod +x
使它可执行)在Linux命令提示符下运行该程序,或通过在程序名称后键入python3来运行该程序,则它仍然不显示任何内容
但是,如果我在Linux提示符下键入python3并得到一个python提示符,然后逐个运行程序中的每一行,那么它将按预期在标题为“ first graph”的窗口中显示散点图。 / p>
有人可以让我知道通过Thonny或IDLE或作为程序调用时显示图的代码需要做什么吗?
谢谢。
答案 0 :(得分:0)
每个GUI都需要一个事件循环,而您没有创建它,在下面的代码中,我演示了如何做:
#!/usr/bin/env python3
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
pg.plot(x,y,pen=None,symbol='o',title='first graph')
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
注意:不要使用任何IDE,因为许多IDE无法正确处理事件循环,请从终端执行它。