Stamattina non sono andato a scuola e, non avendo un emerito caxxo da fare, mi son messo a giocherellare con le Tkinter
Ne è uscito fuori questo primitivo editor :-O
Ne è uscito fuori questo primitivo editor :-O
Codice:
from Tkinter import *
from tkFileDialog import askopenfilename, asksaveasfilename
from tkMessageBox import showinfo
class Editor:
def __init__(self, genitore):
self.quadro = Frame(genitore)
self.quadro.pack()
self.area_testo = Text(self.quadro, height = 25, width = 65)
self.area_testo.pack(side = BOTTOM)
self.menu1 = Menubutton(self.quadro, text = "File")
self.menu_file = Menu(self.menu1, tearoff = 0)
self.menu_file.add_command(label = "Nuovo", command = self.nuovo)
self.menu_file.add_command(label = "Apri", command = self.apri)
self.menu_file.add_command(label = "Salva", command = self.salva)
self.menu_file.add_command(label = "Esci", command = self.quadro.quit)
self.menu1.config(menu = self.menu_file)
self.menu1.pack(side = LEFT)
self.menu2 = Menubutton(self.quadro, text = "Formattazione")
self.menu_formattazione = Menu(self.menu2, tearoff = 0)
self.menu_formattazione.add_command(label = "Normale", command = self.normale)
self.menu_formattazione.add_command(label = "Grassetto", command = self.grassetto)
self.menu_formattazione.add_command(label = "Corsivo", command = self.corsivo)
self.menu2.config(menu = self.menu_formattazione)
self.menu2.pack(side = LEFT)
self.menu3 = Menubutton(self.quadro, text = "About")
self.menu_info = Menu(self.menu3, tearoff = 0)
self.menu_info.add_command(label = "Info", command = self.info)
self.menu3.config(menu = self.menu_info)
self.menu3.pack(side = LEFT)
def nuovo(self):
self.area_testo.delete(1.0, END)
def apri(self):
f = askopenfilename()
file_to_open = open(f, 'r')
file_reading = file_to_open.read()
file_to_open.close()
self.area_testo.insert(END, file_reading)
def salva(self):
f = asksaveasfilename()
testo = self.area_testo.get(1.0, END)
file_to_write = open(f, 'w')
file_to_write.write(testo)
file_to_write.close()
def normale(self):
self.area_testo.config(font = ("Arial", 10))
def grassetto(self):
self.area_testo.config(font = ("Arial", 10, "bold"))
def corsivo(self):
self.area_testo.config(font = ("Arial", 10, "italic"))
def info(self):
self.txt = "XPad 0.1\nCreated by !R~"
showinfo(title = "Info", message = self.txt)
def main():
finestra = Tk()
finestra.title("XPad")
editor = Editor(finestra)
finestra.mainloop()
main()