Add a plot.

pull/1/head
Ivan Olexyn 6 years ago
parent 485f265879
commit 58349a1a1f

@ -14,6 +14,7 @@ This is a frontend for the collection of tools used by the zebra.
``` ```
pip3 install pyqt5 pip3 install pyqt5
pip3 install matplotlib
python3 ./window.py python3 ./window.py
``` ```

@ -1,57 +1,72 @@
import sys import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow, QGridLayout, QLabel, QSpacerItem, QSizePolicy, QComboBox, QFileDialog from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow, QGridLayout, QLabel, QSpacerItem, QSizePolicy, QComboBox, QFileDialog
from plot_canvas import PlotCanvas
class Window(QMainWindow): class Window(QMainWindow):
def __init__(self): def __init__(self):
super().__init__()
self.container = QWidget(self)
self.grid = QGridLayout()
self.setCentralWidget(self.container)
self.container.setLayout(self.grid)
super().__init__()
container = QWidget(self) self.define_widgets()
self.setCentralWidget(container) self.set_widget_actions()
self.main_view()
grid = QGridLayout() self.setGeometry(0, 0, 500, 300)
# add empty label as spacer after buttons self.setWindowTitle("Zebra")
grid.addWidget(QLabel(), 10,10) self.show()
container.setLayout(grid) sys.exit(app.exec_())
# define buttons def define_widgets(self):
self.button_zebra = self.make_button("1 Zebra", grid, 0, 0 ) ''' Define widgets such as buttons. This must be done before setting widget actions.
self.button_back = self.make_button("Back", grid, 0,0) Otherwise a widget action might try to modify a widget that is not defined yet.'''
self.button_dmc = self.make_button("2 DMC", grid, 0,1)
self.button_transfer = self.make_button("3 Transfer\nZebra-DMC-Laue", grid, 0,2) # add empty label as spacer after buttons
self.grid.addWidget(QLabel(), 10,10)
self.button_zebra = self.make_button("1 Zebra", self.grid, 0, 0 )
self.button_back = self.make_button("Back", self.grid, 0,0)
self.button_dmc = self.make_button("2 DMC", self.grid, 0,1)
self.button_transfer = self.make_button("3 Transfer\nZebra-DMC-Laue", self.grid, 0,2)
self.m_range_label = QLabel("Measurement Range:") self.m_range_label = QLabel("Measurement Range:")
grid.addWidget(self.m_range_label, 0, 1) self.grid.addWidget(self.m_range_label, 0, 2)
self.plot_canvas = PlotCanvas(width = 5, height = 5)
self.plot_canvas.setFixedWidth(400)
self.plot_canvas.setFixedHeight(300)
self.grid.addWidget(self.plot_canvas,0,1,3,1)
self.m_range_combo = QComboBox() self.m_range_combo = QComboBox()
self.m_range_combo.addItem("hkl") self.m_range_combo.addItems(["hkl", "-hkl", "hex", "cub"])
self.m_range_combo.addItem("-hkl")
self.m_range_combo.addItem("hex")
self.m_range_combo.addItem("cub")
grid.addWidget(self.m_range_combo, 0,2) self.grid.addWidget(self.m_range_combo, 0,3)
self.add_data_label = QLabel("Add Data:") self.add_data_label = QLabel("Add Data:")
grid.addWidget(self.add_data_label,1,1) self.grid.addWidget(self.add_data_label,1,2)
self.add_data_button = self.make_button("Open File", grid, 1, 2) self.add_data_button = self.make_button("Open File", self.grid, 1, 3)
self.button_zebra13 = self.make_button("1.3", grid, 3,1) self.button_zebra13 = self.make_button("1.3", self.grid, 3,3)
self.button_dmc21 = self.make_button("2.1", grid, 0,1) self.button_dmc21 = self.make_button("2.1", self.grid, 0,1)
self.button_dmc22 = self.make_button("2.2", grid, 1,1) self.button_dmc22 = self.make_button("2.2", self.grid, 1,1)
def set_widget_actions(self):
# define button actions # define button actions
self.button_zebra.clicked.connect(self.zebra_view) self.button_zebra.clicked.connect(self.zebra_view)
self.button_back.clicked.connect(self.main_view) self.button_back.clicked.connect(self.main_view)
@ -66,11 +81,8 @@ class Window(QMainWindow):
self.button_dmc22.clicked.connect(self.dmc22_action) self.button_dmc22.clicked.connect(self.dmc22_action)
self.main_view()
self.setGeometry(0, 0, 500, 300)
self.setWindowTitle("Zebra")
self.show()
sys.exit(app.exec_())
def hide_all(self): def hide_all(self):
@ -82,6 +94,8 @@ class Window(QMainWindow):
self.m_range_label.setHidden(True) self.m_range_label.setHidden(True)
self.m_range_combo.setHidden(True) self.m_range_combo.setHidden(True)
self.plot_canvas.setHidden(True)
self.add_data_label.setHidden(True) self.add_data_label.setHidden(True)
self.add_data_button.setHidden(True) self.add_data_button.setHidden(True)
self.button_zebra13.setHidden(True) self.button_zebra13.setHidden(True)
@ -104,6 +118,8 @@ class Window(QMainWindow):
self.hide_all() self.hide_all()
self.button_back.setHidden(False) self.button_back.setHidden(False)
self.plot_canvas.setHidden(False)
self.m_range_label.setHidden(False) self.m_range_label.setHidden(False)
self.m_range_combo.setHidden(False) self.m_range_combo.setHidden(False)

Loading…
Cancel
Save