web123456

Python+tkinter implements demo instance of multi-page and multi-menu

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