92 lines
3.1 KiB
Python
92 lines
3.1 KiB
Python
from PyQt5.QtWidgets import *
|
|
from PyQt5.QtCore import *
|
|
|
|
class MainWindow(QMainWindow):
|
|
def __init__(self, parent=None):
|
|
super(MainWindow, self).__init__(parent)
|
|
self.stacked_widget = QStackedWidget()
|
|
self.setCentralWidget(self.stacked_widget)
|
|
|
|
self.screens = {
|
|
"Screen0": Screen0(self),
|
|
"Screen1": Screen1(self),
|
|
"Screen2": Screen2(self),
|
|
"Screen3": Screen3(self),
|
|
"Screen5": Screen5(self),
|
|
"Screen6": Screen6(self),
|
|
"Screen7": Screen7(self),
|
|
"Screen8": Screen8(self),
|
|
"Screen9": Screen9(self),
|
|
"Screen10": Screen10(self),
|
|
"Screen11": Screen11(self),
|
|
"Screen12": Screen12(self),
|
|
"Screen14": Screen14(self),
|
|
}
|
|
|
|
for screen in self.screens.values():
|
|
self.stacked_widget.addWidget(screen)
|
|
|
|
self.stacked_widget.setCurrentWidget(self.screens["Screen0"])
|
|
|
|
def go_to_screen(self, screen_name):
|
|
self.stacked_widget.setCurrentWidget(self.screens[screen_name])
|
|
|
|
|
|
class BaseScreen(QWidget):
|
|
def __init__(self, main_window, parent=None):
|
|
super(BaseScreen, self).__init__(parent)
|
|
self.main_window = main_window
|
|
self.layout = QVBoxLayout()
|
|
|
|
self.home_button = QPushButton('Home')
|
|
self.home_button.clicked.connect(lambda: self.main_window.go_to_screen("Screen0"))
|
|
self.layout.addWidget(self.home_button)
|
|
|
|
self.back_button = QPushButton('Back')
|
|
# TODO: implement back functionality
|
|
self.layout.addWidget(self.back_button)
|
|
|
|
self.setLayout(self.layout)
|
|
|
|
|
|
class Screen0(BaseScreen):
|
|
def __init__(self, main_window, parent=None):
|
|
super(Screen0, self).__init__(main_window, parent)
|
|
self.create_item_button = QPushButton('Create Item')
|
|
self.create_item_button.clicked.connect(lambda: self.main_window.go_to_screen("Screen1"))
|
|
self.layout.addWidget(self.create_item_button)
|
|
|
|
self.lookup_item_button = QPushButton('Lookup Item')
|
|
self.lookup_item_button.clicked.connect(lambda: self.main_window.go_to_screen("Screen14"))
|
|
self.layout.addWidget(self.lookup_item_button)
|
|
|
|
|
|
class Screen1(BaseScreen):
|
|
def __init__(self, main_window, parent=None):
|
|
super(Screen1, self).__init__(main_window, parent)
|
|
self.yes_button = QPushButton('Yes')
|
|
self.yes_button.clicked.connect(lambda: self.main_window.go_to_screen("Screen2"))
|
|
self.layout.addWidget(self.yes_button)
|
|
|
|
self.no_button = QPushButton('No I Want to Make One Now')
|
|
self.no_button.clicked.connect(lambda: self.main_window.go_to_screen("Screen7"))
|
|
self.layout.addWidget(self.no_button)
|
|
|
|
# ... other screens ...
|
|
|
|
|
|
class Screen14(BaseScreen):
|
|
def __init__(self, main_window, parent=None):
|
|
super(Screen14, self).__init__(main_window, parent)
|
|
self.qr_button = QPushButton('QR')
|
|
# TODO: Implement QR functionality
|
|
self.layout.addWidget(self.qr_button)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app = QApplication([])
|
|
window = MainWindow()
|
|
window.showFullScreen()
|
|
app.exec_()
|
|
|