diff --git a/hp4194/cv_qt_inteface.py b/hp4194/cv_qt_inteface.py index 9fa3f8f0ac1b1e7f88ab548173adab39b39dcabf..d1a4cd0a970ad2bf7d5c2d494e73c0d13d7db87f 100644 --- a/hp4194/cv_qt_inteface.py +++ b/hp4194/cv_qt_inteface.py @@ -6,11 +6,13 @@ os.environ["QT_API"] = "PyQt6" from PyQt6.QtWidgets import * from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg from matplotlib.figure import Figure +import random +from PyQt6.QtGui import QAction class MplCanvas(FigureCanvasQTAgg): def __init__(self,parent = None, width=5, height=4, dpi = 100): fig = Figure(figsize=(width,height),dpi=dpi) - self.axes = fig.add_subplot(111) + self.axes = fig.subplots(nrows=2,ncols=3) super().__init__(fig) class MainWinow(QMainWindow): @@ -190,15 +192,37 @@ class MainWinow(QMainWindow): self.app_grid.addWidget(self.sweep,2,0) # add the plot below - sc = MplCanvas(self,width=10,height=8,dpi=100) - sc.axes.plot([0,1,2,3,4],[10,1,20,3,40]) + self.sc = MplCanvas(self,width=15,height=9,dpi=100) + + self.xdata = list(range(20)) + for i in range(2): + for j in range(3): + self.sc.axes[i,j].plot(self.xdata,random.sample(range(50),20)) + + toolbar = QToolBar("Toolbar") + self.addToolBar(toolbar) + + button_action = QAction("start measurement", self) + button_action.triggered.connect(self.toolbar_button_clicked) + toolbar.addAction(button_action) - self.app_grid.addWidget(sc,0,1,3,1) + self.app_grid.addWidget(self.sc,0,1,3,1) self.widget.setLayout(self.app_grid) self.setCentralWidget(self.widget) self.showMaximized() + def toolbar_button_clicked(self): + + self.xdata = list(range(20)) + for i in range(2): + for j in range(3): + self.sc.axes[i,j].cla() # Clear the canvas. + self.sc.axes[i,j].plot(self.xdata,random.sample(range(50),20)) + + # Trigger the canvas to update and redraw. + self.sc.draw() + app= QApplication(sys.argv) w= MainWinow() app.exec() \ No newline at end of file