Skip to content

Commit a7da219

Browse files
bug fix when plotting single counter trace
1 parent bc30ba3 commit a7da219

1 file changed

Lines changed: 39 additions & 8 deletions

File tree

pylabnet/scripts/counter/monitor_counts.py

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -325,22 +325,22 @@ def generate_widgets(self, num_plots):
325325

326326
container = getattr(self.gui, 'verticalLayout')
327327

328-
for i in range(num_plots):
328+
if num_plots == 1:
329329

330330
splitter = QtWidgets.QGroupBox()
331331
splitter_layout = QtWidgets.QVBoxLayout()
332332
legend = GraphicsView(GraphicsScene())
333-
legend.setObjectName(f'legend_widget_{i+1}')
333+
legend.setObjectName(f'legend_widget')
334334
splitter_layout.addWidget(legend)
335335
button = QtWidgets.QPushButton('Clear Plot')
336-
button.setObjectName(f'event_button_{i+1}')
336+
button.setObjectName(f'event_button')
337337
splitter_layout.addWidget(button)
338338
splitter.setLayout(splitter_layout)
339339

340-
sub_container = QtWidgets.QGroupBox(f'Plot_{i+1}')
340+
sub_container = QtWidgets.QGroupBox(f'Plot_1')
341341
sub_container_layout = QtWidgets.QHBoxLayout()
342342
graph = PlotWidget()
343-
graph.setObjectName(f'graph_widget_{i+1}')
343+
graph.setObjectName(f'graph_widget')
344344
sub_container_layout.addWidget(graph)
345345
sub_container_layout.addWidget(splitter)
346346
sub_container.setLayout(sub_container_layout)
@@ -350,6 +350,37 @@ def generate_widgets(self, num_plots):
350350
container.layout().addWidget(sub_container)
351351

352352
# set attributes of widgets so they can be accessed with get_gui_widgets()
353-
setattr(self.gui, f'graph_widget_{i+1}', graph)
354-
setattr(self.gui, f'legend_widget_{i+1}', legend)
355-
setattr(self.gui, f'event_button_{i+1}', button)
353+
setattr(self.gui, f'graph_widget', graph)
354+
setattr(self.gui, f'legend_widget', legend)
355+
setattr(self.gui, f'event_button', button)
356+
357+
else:
358+
359+
for i in range(num_plots):
360+
361+
splitter = QtWidgets.QGroupBox()
362+
splitter_layout = QtWidgets.QVBoxLayout()
363+
legend = GraphicsView(GraphicsScene())
364+
legend.setObjectName(f'legend_widget_{i+1}')
365+
splitter_layout.addWidget(legend)
366+
button = QtWidgets.QPushButton('Clear Plot')
367+
button.setObjectName(f'event_button_{i+1}')
368+
splitter_layout.addWidget(button)
369+
splitter.setLayout(splitter_layout)
370+
371+
sub_container = QtWidgets.QGroupBox(f'Plot_{i+1}')
372+
sub_container_layout = QtWidgets.QHBoxLayout()
373+
graph = PlotWidget()
374+
graph.setObjectName(f'graph_widget_{i+1}')
375+
sub_container_layout.addWidget(graph)
376+
sub_container_layout.addWidget(splitter)
377+
sub_container.setLayout(sub_container_layout)
378+
sub_container_layout.setStretch(0, 5) # graph
379+
sub_container_layout.setStretch(1, 1) # legend+button
380+
381+
container.layout().addWidget(sub_container)
382+
383+
# set attributes of widgets so they can be accessed with get_gui_widgets()
384+
setattr(self.gui, f'graph_widget_{i+1}', graph)
385+
setattr(self.gui, f'legend_widget_{i+1}', legend)
386+
setattr(self.gui, f'event_button_{i+1}', button)

0 commit comments

Comments
 (0)