Как нарисовать график с помощью pyqtgraph в виджете PyQt4, созданном в QT Designer?

Я только начинаю с pyqtgraph. У меня есть виджет GraphicsView, который я продвигал с помощью дизайнера QT в соответствии с документацией. Я хотел бы попробовать заговор, чтобы увидеть, работает ли он. Когда я попробовал pg.plot(x,y), программа создала график в отдельном окне, а не в виджете graphicsView. Я использую Windows 10, PyQt4 и Python 2.7. Что я делаю не так?

from PyQt4 import QtGui
from PyQt4 import QtCore
import ui_test  #Gui File
import sys
import pyqtgraph as pg


class Gui(QtGui.QMainWindow, ui_test.Ui_MainWindow):


    def __init__(self):        
        super(self.__class__, self).__init__()        
        self.setupUi(self)  # This is defined in ui_pumptest.py file automatically   
        self.plot()

    def plot(self):       
        vb = pg.ViewBox()
        self.graphicsView.setCentralItem(vb)
def main():
    app = QtGui.QApplication(sys.argv)  # A new instance of QApplication
    form = Gui()  # We set the form to be our ExampleApp (design)
    form.show()  # Show the form
    app.exec_()  # and execute the. app

if __name__ == '__main__':  # if we're running file directly and not importing it
    main()  # run the main function

person Mike C.    schedule 21.09.2016    source источник


Ответы (1)


Можете ли вы поделиться источником файла ui_pumptest.py? В противном случае трудно сказать, каковы ваши намерения. Если нет, по крайней мере подробно опишите, какую конструкцию вы использовали для размещения в процессе продвижения QGraphicsView в QtDesigner (при условии, что вы следовали http://www.pyqtgraph.org/documentation/how_to_use.html#embedding-widgets-inside-pyqt-applications).

pg.plot создает собственную структуру plotwindow->plotwidget, поэтому при вызове вы получаете отдельное окно. Элемент, для которого вы вызываете plot, должен быть именем объекта-контейнера, которое было повышено в вашем файле Qt Ui.

person segFaultCoder    schedule 14.10.2016