You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
3.5 KiB
145 lines
3.5 KiB
import sys
|
|
|
|
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow, QGridLayout, QLabel, QSpacerItem, QSizePolicy
|
|
|
|
|
|
class Window(QMainWindow):
|
|
|
|
def __init__(self):
|
|
|
|
|
|
|
|
super().__init__()
|
|
|
|
container = QWidget(self)
|
|
self.setCentralWidget(container)
|
|
|
|
grid = QGridLayout()
|
|
# add empty label as spacer after buttons
|
|
grid.addWidget(QLabel(), 10,10)
|
|
container.setLayout(grid)
|
|
|
|
|
|
# define buttons
|
|
self.button_zebra = self.make_button("1 Zebra", grid, 0, 0 )
|
|
self.button_back = self.make_button("Back", grid, 0,0)
|
|
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)
|
|
|
|
self.button_zebra11 = self.make_button("1.1", grid, 0, 1)
|
|
self.button_zebra12 = self.make_button("1.2", grid, 1,1)
|
|
self.button_zebra13 = self.make_button("1.3", grid, 3,1)
|
|
|
|
self.button_dmc21 = self.make_button("2.1", grid, 0,1)
|
|
self.button_dmc22 = self.make_button("2.2", grid, 1,1)
|
|
|
|
|
|
|
|
# define button actions
|
|
self.button_zebra.clicked.connect(self.zebra_view)
|
|
self.button_back.clicked.connect(self.main_view)
|
|
self.button_dmc.clicked.connect(self.dmc_view)
|
|
self.button_transfer.clicked.connect(self.transfer_view)
|
|
|
|
self.button_zebra11.clicked.connect(self.zebra11_action)
|
|
self.button_zebra12.clicked.connect(self.zebra12_action)
|
|
self.button_zebra13.clicked.connect(self.zebra13_action)
|
|
|
|
self.button_dmc21.clicked.connect(self.dmc21_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):
|
|
self.button_zebra.setHidden(True)
|
|
self.button_back.setHidden(True)
|
|
self.button_dmc.setHidden(True)
|
|
self.button_transfer.setHidden(True)
|
|
|
|
self.button_zebra11.setHidden(True)
|
|
self.button_zebra12.setHidden(True)
|
|
self.button_zebra13.setHidden(True)
|
|
|
|
self.button_dmc21.setHidden(True)
|
|
self.button_dmc22.setHidden(True)
|
|
|
|
|
|
|
|
def main_view(self):
|
|
self.hide_all()
|
|
self.button_zebra.setHidden(False)
|
|
self.button_dmc.setHidden(False)
|
|
self.button_transfer.setHidden(False)
|
|
|
|
|
|
|
|
|
|
def zebra_view(self):
|
|
self.hide_all()
|
|
self.button_back.setHidden(False)
|
|
self.button_zebra11.setHidden(False)
|
|
self.button_zebra12.setHidden(False)
|
|
self.button_zebra13.setHidden(False)
|
|
|
|
def dmc_view(self):
|
|
self.hide_all()
|
|
self.button_back.setHidden(False)
|
|
self.button_dmc21.setHidden(False)
|
|
self.button_dmc22.setHidden(False)
|
|
|
|
|
|
|
|
def transfer_view(self):
|
|
self.hide_all()
|
|
self.button_back.setHidden(False)
|
|
|
|
|
|
def zebra11_action(self):
|
|
pass
|
|
|
|
def zebra12_action(self):
|
|
pass
|
|
|
|
def zebra13_action(self):
|
|
pass
|
|
|
|
def dmc21_action(self):
|
|
pass
|
|
|
|
def dmc22_action(self):
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def make_button(self, text, grid, row, col):
|
|
"""Create a button in the grid and hide it."""
|
|
button = QPushButton(self)
|
|
button.setText(text)
|
|
grid.addWidget(button, row, col)
|
|
button.setHidden(True)
|
|
button.setFixedHeight(50)
|
|
button.setFixedWidth(150)
|
|
return button
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app = QApplication(sys.argv)
|
|
hello = Window()
|
|
sys.exit(app.exec())
|
|
|
|
|