PytQtGraph — добавление макета и кнопок

Я пытаюсь показать на простом PyQtGraph сюжете четыре QPushButtons в разных местах. Я прочитал документы PyQtGraph и PyQt, и я мог просто получить это:

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

Но мне нужно сделать что-то вроде этого:

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

Это мой код:

class MyApplication(QtGui.QApplication):
  def __init__(self, *args, **kwargs):
    super(MyApplication, self).__init__(*args, **kwargs)

    self.win = pg.GraphicsWindow()

    self.plot = self.win.addPlot(title='Timed data')
    self.curve = self.plot.plot()

    self.tmr = QTimer()
    self.tmr.timeout.connect(self.update)
    self.tmr.start(0)

    self.layout = QtGui.QHBoxLayout()
    self.layout.setParent(self.win)

    self.saveBtn = QtGui.QPushButton("Save")
    self.saveBtn.setParent(self.win)
    self.saveBtn.show()

    self.pauseBtn = QtGui.QPushButton("Pause")
    self.pauseBtn.setParent(self.win)
    self.pauseBtn.show()

    self.stopBtn = QtGui.QPushButton("Stop")
    self.stopBtn.setParent(self.win)
    self.stopBtn.show()

    self.closeBtn = QtGui.QPushButton("Close")
    self.closeBtn.setParent(self.win)
    self.closeBtn.show()

def main():
  app = MyApplication(sys.argv)
  sys.exit(app.exec_())

if __name__ == '__main__':
  main()

Как я могу это сделать? Надеюсь, вы можете мне помочь.


person Pablo Flores    schedule 11.05.2016    source источник


Ответы (1)


Я пытаюсь запустить ваш код и найти решение вашей проблемы. Однако похоже, что приведенный вами код не является полным. Можете ли вы заполнить недостающие части?

from PyQt4 import QtCore
from PyQt4 import QtGui
import pyqtgraph as pg



class MyApplication(QtGui.QApplication):

    def __init__(self, *args, **kwargs):
        super(MyApplication, self).__init__(*args, **kwargs)
        self.win = pg.GraphicsWindow()

        self.plot = self.win.addPlot(title='Timed data')
        self.curve = self.plot.plot()

        self.tmr = QtCore.QTimer()
        self.tmr.timeout.connect(self.update)
        self.tmr.start(0)

        self.layout = QtGui.QHBoxLayout()
        self.layout.setParent(self.win)

        self.saveBtn = QtGui.QPushButton("Save")
        self.saveBtn.setParent(self.win)
        self.saveBtn.show()

        self.pauseBtn = QtGui.QPushButton("Pause")
        self.pauseBtn.setParent(self.win)
        self.pauseBtn.show()

        self.stopBtn = QtGui.QPushButton("Stop")
        self.stopBtn.setParent(self.win)
        self.stopBtn.show()

        self.closeBtn = QtGui.QPushButton("Close")
        self.closeBtn.setParent(self.win)
        self.closeBtn.show()


if __name__== '__main__':
    myApp = MyApplication(?,?) # What arguments should I fill in here?

Я надеюсь, что смогу помочь вам.

С уважением, Кристоф

person K.Mulier    schedule 16.05.2016
comment
Спасибо за ответ Кристоф. Я отредактировал вопрос и добавил недостающую часть, поскольку она есть в моем коде. - person Pablo Flores; 17.05.2016