Editor de texto em Tkinter
Esse é um pequeno editor de textos feito em Python. Utiliza a interface gráfica Tkinter.
Descrição
Esse é um pequeno editor de textos feito em Python. Utiliza a interface gráfica Tkinter.
#! /usr/bin/python
# -*- coding: UTF-8 -*-
from Tkinter import *
from tkFileDialog import asksaveasfilename,askopenfilename
#Começa a classe do editor:
class PyNotePad:
# Aqui fica a função inicial:
def __init__(self):
self.root = Tk()
self.root.wm_title("PyNotePad")# Aqui é o digito
# "inicia" a scroolbar
scrollbar = Scrollbar(self.root)
scrollbar.pack(side=RIGHT, fill=Y)
menubar = Menu(self.root)
#Aqui criamos os menus:
MENUarquivo = Menu(menubar)
MENUarquivo.add_command(label="Salvar", command=self.salvar)
MENUarquivo.add_command(label="Abrir", command=self.abrir)
menubar.add_cascade(label="Arquivo", menu=MENUarquivo)
MENUajuda = Menu(menubar)
MENUajuda.add_command(label="Sobre", command=self.sobre)
menubar.add_cascade(label="Ajuda", menu=MENUajuda)
self.root.config(menu=menubar)
# Aqui adicionamos a parte que fica o texto:
self.text = Text(self.root)
self.text.pack(expand=YES, fill=BOTH)
#aqui configura o scrollbar
self.text.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=self.text.yview)
# Por Fim, a janela:
self.root.mainloop()
def salvar(self): # Aqui é a função que salva o arquivo:
fileName = asksaveasfilename()
try:
file = open(fileName, 'w')
textoutput = self.text.get(0.0, END)
file.write(textoutput)
except:
pass
finally:
file.close()
def abrir(self):# Aqui é a função que abre um arquivo
fileName = askopenfilename()
try:
file = open(fileName, 'r')
contents = file.read()
self.text.delete(0.0, END)
self.text.insert(0.0, contents)
except:
pass
def sobre(self):# uma pequena função "sobre" :D
root = Tk()
root.wm_title("Sobre")
texto=("PyNotePad: Versão 1.0")
textONlabel = Label(root, text=texto)
textONlabel.pack()
# inicia o programa:
PyNotePad()
Thanks a lot for the code! It was just what I was looking for. I dared to add some improvements, in the menu, and I thought perhaps you'd like to see how it in its new features.
Best regards,
Enih Gil'ead
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#! /usr/bin/python
# -*- coding: UTF-8 -*-
# From: http://www.vivaolinux.com.br/script/Editor-de-texto-em-Tkinter
from Tkinter import *
from tkFileDialog import asksaveasfilename,askopenfilename
class PyNotePad: # Start editor's class
def __init__(self):
self.root = Tk()
self.root.wm_title("Enihgil's NotePad")
# Start - scrollbar
scrollbar = Scrollbar(self.root)
scrollbar.pack(side=RIGHT, fill=Y)
menubar = Menu(self.root) # Start - menu
MENUarquivo = Menu(menubar, tearoff=0)
menubar.add_cascade(label=" File ", menu=MENUarquivo)
MENUarquivo.add_separator()
MENUarquivo.add_command(label=" New", command=self.new_text)
MENUarquivo.add_command(label=" Open", command=self.abrir)
MENUarquivo.add_command(label=" Save As", command=self.salvar)
MENUarquivo.add_separator()
MENUarquivo.add_command(label=" Exit", command=self.do_exit)
self.root.config(menu=menubar)
self.text = Text(self.root) # Add the CANVA's text
self.text.pack(expand=YES, fill=BOTH)
self.text.focus() # Puts cursor at the working area
# Configure the scrollbar
self.text.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=self.text.yview)
self.root.mainloop() # Loop's window
def new_text(self): # NEW - clear the text area
self.text.delete(0.0, END)
def abrir(self): # OPEN - file
fileName = askopenfilename()
try:
file = open(fileName, 'r')
contents = file.read()
self.text.delete(0.0, END)
self.text.insert(0.0, contents)
except:
pass
def salvar(self): # SAVE -file
fileName = asksaveasfilename()
try:
file = open(fileName, 'w')
textoutput = self.text.get(0.0, END)
file.write(textoutput)
except:
pass
finally:
file.close()
def do_exit(self): # Exit - the program
self.root.destroy()
PyNotePad() # Starts the program