from tkinter import Tk from tkinter import Frame from tkinter import Menu from tkinter import Text from tkinter import END from tkinter import filedialog from tkinter import messagebox class App(object): def __init__(self, master): frame = Frame(master) frame.pack() self.text = Text() self.text.pack() menu = Menu(master) root.config(menu=menu) # file menü filemenu = Menu(menu, tearoff=0) filemenu.add_command(label="Új") filemenu.add_command(label="Megnyitás", command=self.file_open) filemenu.add_command(label="Mentés", command=self.file_save) filemenu.add_separator() filemenu.add_command(label="Kilépés", command=self.do_exit) # help menü helpmenu = Menu(menu, tearoff=0) helpmenu.add_command(label="Névjegy", command=self.do_about) menu.add_cascade(label="Fájl", menu=filemenu) menu.add_cascade(label="Segítség", menu=helpmenu) def file_open(self): """Fájl megnyitása""" # Alapértelmezett könyvtár (esetleg c:\vhol) initial_dir = "/home" # Fájlmaszk megadása mask = \ [("Szöveges és Python fájlok","*.txt *.py *.pyw"), ("HTML fájlok","*.htm"), ("Minden fájl","*")] fin = filedialog.askopenfile(initialdir=initial_dir, filetypes=mask, mode='r') text = fin.read() if text != None: self.text.delete(0.0, END) self.text.insert(END,text) def file_save(self): """Fájl mentése""" # Alapértelmezett kiterjesztés, ha nincs akkor automatikusan megadja fout = filedialog.asksaveasfile(mode='w', defaultextension=".txt") text2save = str(self.text.get(0.0,END)) fout.write(text2save) fout.close() def do_exit(self): root.destroy() def do_about(self): messagebox.showinfo("Névjegy", "Egyszerű szövegszerkesztő\nSallai András") root = Tk() root.title("Egyszerű szövegszerkesztő") app = App(root) root.mainloop()