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

108 lines
4.2 KiB
Python

import tkinter as tk
from tkinter import font as tkfont
class Kiosk(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.frame = None
self.frames_history = []
self.geometry('1366x768')
self.attributes('-fullscreen', True)
self.switch_frame(Screen0)
def switch_frame(self, frame_class, keep_history=True):
if keep_history and self.frame:
self.frames_history.append(type(self.frame))
new_frame = frame_class(self)
if self.frame is not None:
self.frame.destroy()
self.frame = new_frame
self.frame.pack(fill="both", expand=True)
def back_frame(self):
if self.frames_history:
self.switch_frame(self.frames_history.pop(), keep_history=False)
class Screen0(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master, bg='#bcfef9')
title_font = tkfont.Font(size=30, family='Helvetica')
tk.Label(self, text="Custodisco ✨", bg='#bcfef9', font=title_font).pack()
tk.Button(self, text="Create Item", command=lambda: master.switch_frame(Screen1)).pack()
tk.Button(self, text="Lookup Item", command=lambda: master.switch_frame(Screen14)).pack()
class Screen1(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Button(self, text="Yes", command=lambda: master.switch_frame(Screen2)).pack()
tk.Button(self, text="No I Want to Make One Now", command=lambda: master.switch_frame(Screen7)).pack()
class Screen2(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Label(self, text="List Placeholder").pack()
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen3)).pack()
class Screen3(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Button(self, text="Take Photo", command=lambda: master.switch_frame(Screen5)).pack()
class Screen5(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Label(self, text="Text Entry Placeholder").pack()
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen8)).pack()
class Screen6(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Label(self, text="Some Text").pack()
tk.Button(self, text="I Understand", command=lambda: master.switch_frame(Screen3)).pack()
class Screen7(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Label(self, text="Text Entry Placeholder").pack()
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen6)).pack()
class Screen8(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen11)).pack()
class Screen9(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Label(self, text="Text Entry Placeholder").pack()
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen10)).pack()
class Screen10(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Label(self, text="Thank you!").pack()
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen0)).pack()
class Screen11(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Button(self, text="Sticker", command=lambda: master.switch_frame(Screen10)).pack()
tk.Button(self, text="Tag", command=lambda: master.switch_frame(Screen10)).pack()
class Screen12(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Button(self, text="Re-print Tag", command=lambda: master.switch_frame(Screen8)).pack()
tk.Button(self, text="Post Update", command=lambda: master.switch_frame(Screen9)).pack()
class Screen14(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
tk.Button(self, text="Done", command=lambda: master.switch_frame(Screen12)).pack()
if __name__ == "__main__":
app = Kiosk()
app.mainloop()