import tkinter as tk
import as messagebox
from tkinter import ttk
import pystray
from PIL import ImageTk, Image
import webbrowser
import os
from faker import Faker
class Application():
def __init__(self):
super().__init__()
("tkinter Multiple Pages Multiple Menu Switch Demo")
("400x300")
(".\/")
# Create a menu bar
menubar = (self)
# Create a message menu
message_menu = (menubar, tearoff=0)
for msg_type in ["showinfo", "showwarning", "showerror", "askquestion", "askokcancel", "askyesno"]:
message_menu.add_command(label=msg_type, command=lambda m=msg_type: self.show_message(m))
menubar.add_cascade(label="information", menu=message_menu)
# Create a page menu
page_menu = (menubar, tearoff=0)
page_menu.add_command(label="Page 1", command=self.show_page1)
page_menu.add_command(label="Page 2", command=self.show_page2)
page_menu.add_command(label="Page 3", command=self.show_page3)
menubar.add_cascade(label="page", menu=page_menu)
# Create Event Menu
event_menu = (menubar, tearoff=0)
event_menu.add_command(label="Exit the application", command=)
event_menu.add_command(label="New Window", command=self.open_new_window)
menubar.add_cascade(label="event", menu=event_menu)
(menu=menubar)
# Create a rich text box
= (self, state="disabled")
(fill=, expand=True)
= [
"This is the content of page 1~~~~",
"This is the content of page 2~~~~",
"This is the content of page 3~~~~"
]
self.current_page = None
def show_message(self, msg_type):
messagebox.__getattribute__(msg_type)("This is the prompt box".format(msg_type),"This is news~~")
def show_page1(self):
(state="normal")
("1.0", )
(, [0])
(state="disabled")
self.current_page = 0
def show_page2(self):
self.show_page1()
(state="normal")
("1.0", )
(, [1])
(state="disabled")
self.current_page = 1
def show_page3(self):
self.show_page1()
self.show_page2()
(state="normal")
("1.0", )
(, [2])
(state="disabled")
self.current_page = 2
def open_new_window(self):
new_window = (self)
new_window.title("New window open")
new_window.geometry("300x200")
new_text = (new_window)
new_text.pack(fill=, expand=True)
fake = Faker()
new_text.insert(, ())
if __name__ == "__main__":
app = Application()
()