2023-06-17 01:33:16 -04:00

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_()