Skip to content

Instantly share code, notes, and snippets.

@Bnux256
Created November 5, 2021 15:41
Show Gist options
  • Save Bnux256/7823d958f802ac9222543505cbf05312 to your computer and use it in GitHub Desktop.
Save Bnux256/7823d958f802ac9222543505cbf05312 to your computer and use it in GitHub Desktop.
Simple text editor made using Tkinter
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfile, asksaveasfilename
class Text_Editor(object):
def __init__(self, master):
frame = Frame(master)
frame.pack()
menubar = Menu(tk)
filemenu = Menu(menubar, tearoff=0)
tk.config(menu=menubar)
menubar.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="Open", command = self.open_file)
filemenu.add_command(label="Save", command = self.save_file)
filemenu.add_command(label="Exit", command= tk.destroy)
self.textfield = Text(tk, font=10)
self.textfield.pack()
def open_file(self):
self.textfield.delete("1.0", END)
file = askopenfile(mode="r", filetypes=[("text files", "*.txt"), ("all files", "*.*")])
if file is not None:
text = file.read()
self.textfield.insert("1.0", text)
def save_file(self):
text = self.textfield.get("1.0", "end-1c")
file = asksaveasfilename(title="Save", filetypes=[("text files", "*.txt"), ("all files", "*.*")])
with open(file, "w") as data:
data.write(text)
if __name__ == "__main__":
tk = Tk()
tk.title("Text Editor")
Text_Editor(tk)
tk.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment