108 lines
4.2 KiB
Python
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()
|
|
|