Ad Code

Notepad Using The Python Tkinter || Python Project.


 Notepad By Codingfizz

Welcome to CodingFizz,


In this tutorial, we will make a notepad using python Tkinter in a simple way.

Notepad is a python project. You can take notes with the help of this notepad and save that and open exist file from your system. 

To Create a Notepad in Python:
  • Import Tkinter - Tkinter is a python interface and is used to create GUI.
  • Create a window to use Tkinter widgets.
  • Add some widgets to create your notepad.
  • Event Handling.

Source Code:

 from tkinter import *
 from tkinter.messagebox import showinfo
 from tkinter.filedialog import askopenfilename, asksaveasfilename
 import os

 def newFile():
    global file
    root.title("Untitled - Notepad By CodingFizz")
    file = None
    TextArea.delete(1.0, END)


 def openFile():
    global file
    file = askopenfilename(defaultextension=".txt",
    filetypes=[("All Files", "*.*"), ("Text Documents", "*.txt")])
    if file == "":
        file = None
    else:
        root.title(os.path.basename(file) + " - Notepad")

        TextArea.delete(1.0, END)
        f = open(file, "r")
        TextArea.insert(1.0, f.read())
        f.close()


 def saveFile():
    global file
    if file == None:
        file = asksaveasfilename(initialfile = 'Untitled.txt',
         defaultextension=".txt",filetypes=[("All Files", "*.*"),
          ("Text Documents", "*.txt")])
        if file =="":
            file = None

        else:
            #Save as a new file
            f = open(file, "w")
            f.write(TextArea.get(1.0, END))
            f.close()

            root.title(os.path.basename(file) + " - Notepad")

            print("File Saved")
    else:
        # Save the file
        f = open(file, "w")
        f.write(TextArea.get(1.0, END))
        f.close()


 def quitApp():
    root.destroy()

 def cut():
    TextArea.event_generate(("<>"))

 def copy():
    TextArea.event_generate(("<>"))

 def paste():
    TextArea.event_generate(("<>"))

 def about():
    showinfo("Help - Notepad", "Notepad is a basic text editor.")


 if __name__ == '__main__':
    #Basic tkinter setup
    root = Tk()
    root.title("Untitled - Notepad")
    root.wm_iconbitmap("1.ico")
    root.geometry("666x600")

    #Add TextArea
    TextArea = Text(root, font="sans 10")
    file = None
    TextArea.pack(expand=True, fill=BOTH)

    # Lets create a menubar
    MenuBar = Menu(root)

    #File Menu Starts
    FileMenu = Menu(MenuBar, tearoff=0)
    # To open new file
    FileMenu.add_command(label="New", command=newFile)

    #To Open already existing file
    FileMenu.add_command(label="Open", command = openFile)

    # To save the current file


    FileMenu.add_command(label = "Save", command = saveFile)
    FileMenu.add_separator()
    FileMenu.add_command(label = "Exit", command = quitApp)
    MenuBar.add_cascade(label = "File", menu=FileMenu)
    # File Menu ends

    # Edit Menu Starts
    EditMenu = Menu(MenuBar, tearoff=0)
    #To give a feature of cut, copy and paste
    EditMenu.add_command(label = "Cut", command=cut)
    EditMenu.add_command(label = "Copy", command=copy)
    EditMenu.add_command(label = "Paste", command=paste)

    MenuBar.add_cascade(label="Edit", menu = EditMenu)

    # Edit Menu Ends

    # Help Menu Starts
    HelpMenu = Menu(MenuBar, tearoff=0)
    HelpMenu.add_command(label = "About Notepad", command=about)
    MenuBar.add_cascade(label="Help", menu=HelpMenu)

    # Help Menu Ends

    root.config(menu=MenuBar)

    #Adding Scrollbar using rules from Tkinter

    Scroll = Scrollbar(TextArea)
    Scroll.pack(side=RIGHT,  fill=Y)
    Scroll.config(command=TextArea.yview)
    TextArea.config(yscrollcommand=Scroll.set)

    root.mainloop()


Output:-




So, We have created a notepad using python. We hope, you get a clear understanding of everything in this tutorial.

Thank you.

Post a Comment

0 Comments

Ad Code