XPad

Stato
Discussione chiusa ad ulteriori risposte.

!R~

Utente Silver
22 Maggio 2009
0
0
0
55
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

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()
 
Stato
Discussione chiusa ad ulteriori risposte.