Notebook #3
Fri Jun 04 2021 15:49:49 GMT+0000 (Coordinated Universal Time)
Saved by @mikek
import os
import tkinter as tk
from tkinter import *
from tkinter import filedialog
def createWidgets():
global textArea
textArea = Text(root)
textArea.grid(sticky = N+E+S+W)
menuBar = Menu(root)
root.config(menu=menuBar)
fileMenu = Menu(menuBar, tearoff=0)
fileMenu.add_command(label="New", command=newFile)
fileMenu.add_command(label="Open", command=openFile)
fileMenu.add_command(label="Save", command=saveFile)
fileMenu.add_separator()
fileMenu.add_command(label="Exit", command=exit)
menuBar.add_cascade(label="File", menu=fileMenu)
editMenu = Menu(menuBar, tearoff=0)
editMenu.add_command(label="Cut", command="")
editMenu.add_command(label="Copy", command="")
editMenu.add_command(label="Paste", command="")
menuBar.add_cascade(label="Edit", menu=editMenu)
helpMenu = Menu(menuBar, tearoff=0)
helpMenu.add_command(label="About Notepad", command="")
menuBar.add_cascade(label="Help", menu=helpMenu)
def newFile():
global textArea
root.title("Untitled - Notepad")
file = None
textArea.delete(1.0, END)
def openFile():
global textArea
file = filedialog.askopenfile(mode='r', filetype=[("All files", "*.*"), ("Text Documents", "*.txt")])
file = file.name
if file == "":
file = None
else:
root.title(os.path.basename(file) + " - Notepad")
textArea.delete(1.0, END)
file = open(file, "rb")
textArea.insert(1.0, file.read())
file.close()
def saveFile():
global textArea, file
if file == None:
file = filedialog.asksaveasfilename(initialfile="Untitled.txt", mode='r', filetype=[("All files", "*.*"), "\n"
, ("Text Documents", "*.txt")])
if file == None:
file = None
else:
file = open(file, "w")
file.write(textArea.get(1.0, END))
file.close()
file = file.name
root.title(os.path.basename(file) + ' - Notepad')
else:
file = open(file, "w")
file.write(textArea.get(1.0, END))
file.close()
def exit():
root.destroy()
# def cut():
# global textArea
# textArea.event_generate("<<Cut>>")
# def copy():
# global textArea
# textArea.event_generate("<<Copy>>")
# def paste():
# global textArea
# textArea.event_generate("<<Paste>>")
root = tk.Tk()
root.title("Untitled - Notepad")
file = None
createWidgets()
root.mainloop()



Comments