график pyqtgraph не отображается при выполнении программы - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь научиться использовать 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')

Я использую Python 3.5.3 на Raspberry Pi 3 с RaspbianStretch.

Если я запускаю вышеуказанную программу в Thonny или IDLE, программа запускается без каких-либо ошибок, но не отображает вывод.

Аналогично, если я запускаю программу из командной строки Linuxпросто вызывая имя программы (я сделал ее исполняемой, используя chmod +x) или набрав python3, а затем имя программы, все равно ничего не отображается.

Однако, если я наберу python3 в командной строке Linuxи получите приглашение Python, а затем запустите каждую из строк в программе одну за другой, а затем отобразит точечный график в окне с заголовком «первый график», как и ожидалось.

Может кто-нибудь сообщить мне, что янужно сделать, чтобы получить код для отображения графика при запуске через Thonny или IDLE или вызывая его как программу?

Спасибо.

1 Ответ

0 голосов
/ 23 октября 2018

Каждый 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_()

enter image description here

Примечание: не используйте IDE, так как многие не могут правильно обработать цикл обработки событий, запустите его из терминала.

...