Как изменить размер окна графика и добавить метки в PyQT UI? - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь создать динамический c пользовательский интерфейс, который отображает графики в режиме реального времени, используя matplotlib, который ранее был пользовательским c пользовательским интерфейсом. Я разработал пользовательский интерфейс в QT Designer, используя Python. Код для макета окна таков:

class MainWindow(QtWidgets.QMainWindow):

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

      #Load the UI Page
      uic.loadUi('PredSoftV2.ui', self)

      self.loadData()

      pg.setConfigOption('background', 'w')

      self.setWindowTitle("ABC window")

      m = PlotCanvas(self, width=5, height=4)
      m.move(595,200)

      m2 = PlotCanvas2(self, width=5, height=4)
      m2.move(595,610)

      m3 = PlotCanvas3(self, width=5, height=2)
      m3.move(15,750)

      m4 = PlotCanvas4(self, width=5, height=2)
      m4.move(15,500)

Сгенерированное окно выглядит следующим образом:

Top of the UI I designed

Теперь на том же окно, я пытаюсь изменить графики, чтобы сделать его динамическим c. Код, который я использовал для этого окна:

class MainWindow(QtWidgets.QMainWindow):

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

    #Load the UI Page
      uic.loadUi('PredSoftV2.ui', self)

      self.loadData()

      pg.setConfigOption('background', 'w')
      #pg.setConfigOption('foreground', 'k')

    #self.btn_load.clicked.connect(self.reset_func)

      self.setWindowTitle("Predictive Maintenance(CoEAMT)")

      #l = QtWidgets.QVBoxLayout(self.main_widget)

      self.main_widget = QtWidgets.QWidget(self)

      l = QtWidgets.QGridLayout(self.main_widget)
      dc = MyDynamicMplCanvas(self.main_widget, width=2, height=2, dpi=100)
      l.addWidget(dc, 1, 0)
      sc2 = MyDynamicMplCanvas2(self.main_widget, width=2, height=2, dpi=100)
      l.addWidget(sc2, 2, 0)
      sc4 = MyDynamicMplCanvas5(self.main_widget, width=2, height=2, dpi=100)
      l.addWidget(sc4, 3, 0)
      sc3 = MyDynamicMplCanvas3(self.main_widget, width=4, height=4, dpi=100)
      l.addWidget(sc3, 3, 3)
      sc4 = MyDynamicMplCanvas4(self.main_widget, width=4, height=4, dpi=100)
      l.addWidget(sc4, 2, 3)

      self.main_widget.setFocus()
      self.setCentralWidget(self.main_widget)

      self.show()

      self.cb.addItem("Asset 1")
      self.cb.addItem("Asset 2")
      self.cb.addItem("Asset 3")

Верх интерфейса выглядит так:

Top of my designed UI

Любой причина того, почему это происходит и как это исправить, будет оценена.

...