mirror of
https://github.com/Athemis/PyDSF.git
synced 2025-07-03 18:51:07 +00:00
Switching to pyqtgraph (WIP)
This commit is contained in:
parent
a0613fb8cc
commit
86b5090b49
8 changed files with 217 additions and 225 deletions
|
@ -300,5 +300,3 @@ class Ui_MainWindow(object):
|
|||
self.actionQuit.setText(_translate("MainWindow", "&Quit"))
|
||||
self.actionAbout.setText(_translate("MainWindow", "&About"))
|
||||
self.actionAbout_Qt.setText(_translate("MainWindow", "About &Qt"))
|
||||
|
||||
from .mplwidget import MplWidget
|
||||
|
|
0
ui/libs/__init__.py
Normal file
0
ui/libs/__init__.py
Normal file
1
ui/libs/pyqtgraph
Submodule
1
ui/libs/pyqtgraph
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit cc2d6b54cb0cb9d18fcfa5cade098d0ddfa63bb7
|
|
@ -13,12 +13,15 @@ from PyQt5.QtWidgets import (QMainWindow,
|
|||
QDialogButtonBox,
|
||||
QFileDialog,
|
||||
QMessageBox,
|
||||
QApplication)
|
||||
QApplication,
|
||||
QScrollArea)
|
||||
|
||||
from .Ui_mainwindow import Ui_MainWindow
|
||||
from .mplwidget import MplWidget
|
||||
import ui.libs.pyqtgraph as pg
|
||||
from pydsf import Experiment, PlotResults
|
||||
|
||||
pg.setConfigOptions(antialias=True)
|
||||
|
||||
VERSION = "1.0"
|
||||
|
||||
|
||||
|
@ -152,29 +155,34 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||
# self.groupBox_signal_threshold.setEnabled(True)
|
||||
|
||||
def generate_plot_tab(self, name):
|
||||
tab = MplWidget()
|
||||
tab = QScrollArea()
|
||||
tab.setObjectName(name)
|
||||
tab.setWidgetResizable(True)
|
||||
return tab
|
||||
|
||||
def generate_plate_tabs(self, plate):
|
||||
# TODO: not implemented yet
|
||||
# raise NotImplementedError
|
||||
plotter = PlotResults()
|
||||
|
||||
if id != 'average':
|
||||
tab = self.generate_plot_tab("tab_heatmap_{}".format(id))
|
||||
self.tabWidget.addTab(tab, "Heatmap #{}".format(plate.id))
|
||||
plotter.plot_tm_heatmap_single(plate, tab)
|
||||
# tab = self.generate_plot_tab("tab_heatmap_{}".format(id))
|
||||
# self.tabWidget.addTab(tab, "Heatmap #{}".format(plate.id))
|
||||
# plotter.plot_tm_heatmap_single(plate, tab)
|
||||
|
||||
tab = self.generate_plot_tab("tab_raw_{}".format(id))
|
||||
plt = pg.GraphicsLayoutWidget()
|
||||
tab.setWidget(plt)
|
||||
self.tabWidget.addTab(tab, "Raw Data #{}".format(plate.id))
|
||||
plotter.plot_raw(plate, tab)
|
||||
plotter.plot_raw(plate, plt)
|
||||
|
||||
tab = self.generate_plot_tab("tab_derivative_{}".format(id))
|
||||
self.tabWidget.addTab(tab, "Derivatives #{}".format(plate.id))
|
||||
plotter.plot_derivative(plate, tab)
|
||||
else:
|
||||
tab = self.generate_plot_tab("tab_heatmap_{}".format(id))
|
||||
self.tabWidget.addTab(tab, "Heatmap ({})".format(plate.id))
|
||||
plotter.plot_tm_heatmap_single(plate, tab)
|
||||
# tab = self.generate_plot_tab("tab_derivative_{}".format(id))
|
||||
# self.tabWidget.addTab(tab, "Derivatives #{}".format(plate.id))
|
||||
# plotter.plot_derivative(plate, tab)
|
||||
#else:
|
||||
# tab = self.generate_plot_tab("tab_heatmap_{}".format(id))
|
||||
# self.tabWidget.addTab(tab, "Heatmap ({})".format(plate.id))
|
||||
# plotter.plot_tm_heatmap_single(plate, tab)
|
||||
|
||||
@pyqtSlot()
|
||||
def on_buttonBox_process_accepted(self):
|
||||
|
|
|
@ -478,22 +478,22 @@
|
|||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="MplWidget" name="tab_raw">
|
||||
<widget class="GraphicsLayoutWidget" name="tab_raw">
|
||||
<attribute name="title">
|
||||
<string>Raw Data</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="MplWidget" name="tab_derivative">
|
||||
<widget class="GraphicsLayoutWidget" name="tab_derivative">
|
||||
<attribute name="title">
|
||||
<string>&2nd derivative</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="MplWidget" name="tab_heatmap">
|
||||
<widget class="GraphicsLayoutWidget" name="tab_heatmap">
|
||||
<attribute name="title">
|
||||
<string>Heatmap</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="MplWidget" name="tab_heatmap_avg">
|
||||
<widget class="GraphicsLayoutWidget" name="tab_heatmap_avg">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
|
@ -563,9 +563,9 @@
|
|||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>MplWidget</class>
|
||||
<class>GraphicsLayoutWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>mplwidget</header>
|
||||
<header>GraphicsLayoutWidget</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
from PyQt5 import QtWidgets, QtGui, QtCore
|
||||
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
|
||||
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
|
||||
from matplotlib.figure import Figure
|
||||
|
||||
class MplCanvas(FigureCanvas):
|
||||
def __init__(self):
|
||||
self.fig = Figure()
|
||||
self.ax = self.fig.add_subplot(111)
|
||||
FigureCanvas.__init__(self, self.fig)
|
||||
FigureCanvas.setSizePolicy(self, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
|
||||
FigureCanvas.updateGeometry(self)
|
||||
self.setFocusPolicy(QtCore.Qt.StrongFocus)
|
||||
|
||||
def clear(self):
|
||||
self.ax.clear()
|
||||
self.fig.clear()
|
||||
|
||||
class MplWidget(QtWidgets.QWidget):
|
||||
def __init__(self, parent = None):
|
||||
QtWidgets.QWidget.__init__(self, parent)
|
||||
self.canvas = MplCanvas()
|
||||
self.ntb = NavigationToolbar(self.canvas, self)
|
||||
self.vbl = QtWidgets.QVBoxLayout()
|
||||
self.vbl.addWidget(self.canvas)
|
||||
self.vbl.addWidget(self.ntb)
|
||||
self.setLayout(self.vbl)
|
Loading…
Add table
Add a link
Reference in a new issue