def construct_plots(self, plot_desc):
self.toolbars = []
self.canvas_by_name = {}
# Purge everything in the layout
for i in reversed(range(self.layout.count())):
widgetToRemove = self.layout.itemAt( i ).widget()
self.layout.removeWidget( widgetToRemove )
widgetToRemove.setParent( None )
self.tabs = QtWidgets.QTabWidget(self.main_widget)
for name, desc in plot_desc.items():
if desc['plot_type'] == "standard":
if desc['plot_dims'] == 1:
canvas = Canvas1D(self.main_widget, width=5, height=4, dpi=100, plot_mode=desc['plot_mode'])
if desc['plot_dims'] == 2:
canvas = Canvas2D(self.main_widget, width=5, height=4, dpi=100, plot_mode=desc['plot_mode'])
elif desc['plot_type'] == "manual":
canvas = CanvasManual(self.main_widget, width=5, height=4, dpi=100, numplots=desc['numplots'])
elif desc['plot_type'] == "mesh":
canvas = CanvasMesh(self.main_widget, width=5, height=4, dpi=100, plot_mode=desc['plot_mode'])
nav = NavigationToolbar(canvas, self)
canvas.set_desc(desc)
self.toolbars.append(nav)
self.tabs.addTab(canvas, name)
self.layout.addWidget(nav)
self.canvas_by_name[name] = canvas
self.layout.addWidget(self.tabs)
self.switch_toolbar()
self.tabs.currentChanged.connect(self.switch_toolbar)
评论列表
文章目录