не отображается график PyQt5. что не так?

 import sys
 from PyQt5 import QtCore, QtGui, QtWidgets
 from pyqtgraph import PlotWidget, plot
 from test import Ui_MainWindow
 from pyqtgraph import PlotWidget, plot
 import pyqtgraph as pg 
 class MainWindow(QtWidgets.QMainWindow):
     def __init__(self, *args, **kwargs):
         super(MainWindow, self).__init__(*args, **kwargs)

     # Загрузите страницу интерфейса
     ui.loadUi('file.ui', self)

     grid = QtWidgets.QGridLayout(self.centralwidget)
     grid.addWidget(self.graphWidget, 0, 0)

     self.plot([1,2,3,4,5,6,7,8,9,10], [30,32,34,32,33,31,29,32,35,45])

    # мы добавили метод plot(), который принимает два массива:
    # temperature и hour, затем строит данные с помощью метода graphWidget.plot().

   def plot(self, hour, temperature):
          self.graphWidget.plot(hour, temperature)

   #if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())

по примеру на этом же сайте все получалось и график был, а у меня вот что получается ?

ся


вот что выдает, когда я пишу так, как у вас(с изменениями). я не понимаю что делаю не так введите сюда описание изображения


Ответы (1 шт):

Автор решения: S. Nick

я отметил для вас строки, в которые надо внести изменения

import sys
from PyQt5 import QtCore, QtGui, QtWidgets, uic                     # + uic
from pyqtgraph import PlotWidget, plot
#from test import Ui_MainWindow                                      # ---
from pyqtgraph import PlotWidget, plot
import pyqtgraph as pg 


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        # Загрузите страницу интерфейса
#        ui.loadUi('file.ui', self)                                  # ---
#       vvv
        uic.loadUi('mainPlotWidget.ui', self)                        # mainPlotWidget.ui

        grid = QtWidgets.QGridLayout(self.centralwidget)
        grid.addWidget(self.graphWidget, 0, 0)

        self.plot([1,2,3,4,5,6,7,8,9,10], [30,32,34,32,33,31,29,32,35,45])

        # мы добавили метод plot(), который принимает два массива:
        # temperature и hour, затем строит данные с помощью метода graphWidget.plot().

    def plot(self, hour, temperature):
        self.graphWidget.plot(hour, temperature)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    
#    MainWindow = QtWidgets.QMainWindow()                             # ---
#    ui = Ui_MainWindow()                                             # ---
#    ui.setupUi(MainWindow)                                           # ---
#    MainWindow.show()                                                # ---

    main = MainWindow()                                               # +++
    main.show()                                                       # +++  
    
    sys.exit(app.exec_())

mainPlotWidget.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>631</width>
    <height>466</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <widget class="PlotWidget" name="graphWidget" native="true">
    <property name="geometry">
     <rect>
      <x>89</x>
      <y>59</y>
      <width>471</width>
      <height>291</height>
     </rect>
    </property>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>631</width>
     <height>21</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <customwidgets>
  <customwidget>
   <class>PlotWidget</class>
   <extends>QWidget</extends>
   <header>pyqtgraph</header>
   <container>1</container>
  </customwidget>
 </customwidgets>
 <resources/>
 <connections/>
</ui>

введите сюда описание изображения

→ Ссылка