Добавить pyqtgraph (plot) в QApplication
Гип,
тааак, я создал файл MainWindow.ui с помощью QTDesigner. Затем я импортирую этот графический интерфейс с помощью следующей команды в мой файл.py:
form_class = uic.loadUiType("ess_project.ui")[0]
Какая разница, если я скомпилирую этот файл.ui с помощью pyuic4? (каждый раз, когда я компилировал свой.ui файл, я получал следующую ошибку:
RuntimeError: the sip module implements API v11.0 to v11.1 but the PyQt4.QtCore module requires API v10.1
Главное окно создает первое окно, в котором размещены все кнопки и т. Д.
class MainWindow(QtGui.QMainWindow, form_class):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
PlotWindow.__init__(self)
self.setupUi(self)
self.pb_send.clicked.connect(self.pb_send_clicked)
self.pb_open.clicked.connect(self.pb_open_clicked)
self.pb_exit.clicked.connect(self.pb_exit_clicked)
self.comboBox.currentIndexChanged.connect(self.combo_box_changed)
кроме того, у меня есть второй класс с именем "PlotWindow". Этот класс выглядит так:
class PlotWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.w = QtGui.QMainWindow()
self.cw = pg.GraphicsLayoutWidget()
self.w.show()
self.w.resize(900,600)
self.w.setCentralWidget(self.cw)
self.w.setWindowTitle('pyqtgraph: G-CODE')
self.p = self.cw.addPlot(row=0, col=0)
теперь, как вы можете видеть, класс PloWindow создает второе окно.
Как я могу реализовать pg.GraphicsLayoutWidget() в класс MainWindow?
не уверен, может ли это вам помочь?!?:
def main():
app = QtGui.QApplication([])
myWindow = MainWindow(None)
myWindow.show()
app.exec_()
if __name__ == '__main__':
main()
Я использую python3!!! не стесняйтесь комментировать:) спасибо!
1 ответ
Чтобы разместить любые виджеты pyqtgraph внутри вашего приложения, вы добавляете виджет-заполнитель и "продвигаете" его в нужный вам класс pg. Смотрите: http://www.pyqtgraph.org/documentation/how_to_use.html