1
0
Fork 0
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:
Alexander Minges 2015-07-07 17:35:56 +02:00
parent a0613fb8cc
commit 86b5090b49
8 changed files with 217 additions and 225 deletions

View file

@ -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
View file

1
ui/libs/pyqtgraph Submodule

@ -0,0 +1 @@
Subproject commit cc2d6b54cb0cb9d18fcfa5cade098d0ddfa63bb7

View file

@ -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):

View file

@ -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>&amp;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>

View file

@ -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)