Build a basic Text Editor using Tkinter in Python

Tkinter is a Python Package for creating GUI applications. Python has a lot of GUI frameworks, but this is the only framework that’s built into the Python standard library. It has several strengths; it’s cross-platform, so the same code works on Windows, macOS, and Linux. It is lightweight and relatively painless to use compared to other frameworks. This makes it a compelling choice for building GUI applications in Python, especially for applications where a modern shine is unnecessary, and the top priority is to build something that’s functional and cross-platform quickly.  

Let’s start quickly working with Tkinter  

Let’s Understand the Basics

      Firstly Tkinter is a module that is available in most IDE’s. So let’s break apart the beginning into points:

  1. Importing the Tkinter module.
  2. Creating a window in which the program executes. It is also known as the “root window”.
  3. Finally, using a function to execute the code which is known as “mainloop()”.    

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# import all things from tkinter
from tkinter import *
    
# create root window 
root = Tk() 
    
  
# widgets,buttons,etc here
root.mainloop()

chevron_right


Output:



“*” implements all features of Tkinter

   This is how you could build a window in just three simple lines!

Note: Please do not spell “tkinter” as with a capital “T”, as this would not import the module and you would most probably encounter an error message!!!

     

Designing Our GUI Window

     This is a simple step! So we will basically use these mains functions:-

  1. geometry(“AAAxBBB”)
  2. minsize(height = AAA, width = BBB)
  3. maxsize(height = AAA, width = BBB)
  4. title(“DESIRED TITLE”)

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

from tkinter import *
  
# root
root = Tk()
  
# design
root.geometry("300x300")
root.minsize(height=560)
root.title("TKINter Program")
  
# execute
root.mainloop()

chevron_right


Output:

Create a Basic Notepad

Notepad is one thing used commonly by every person who owns a desktop. It a shortcut tool to save important information in small notes, for temporary purposes, etc. Let’s make our own notepad using Tkinter.



First, let’s type the basic code that we discussed earlier.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

from tkinter import *
  
# create root window
root = Tk()
  
# design
root.geometry("300x300")
root.minsize(height=560)
root.title("Notepad")
  
# running the program
root.mainloop()

chevron_right


Okay so let’s think we will need a text function and a scroll bar to scroll through the text if it exceeds the dimensions of the window. Also, we learn about grid() and pack(). They are used to pack the functions in the window, without them the buttons, text, frames would not display in the window.

Note: We can either use .grid() or .pack() for our program. However, using both in the same file would not work since Tkinter does not accept this, you obtain an error. You could use .pack() for efficient packing

Now let’s add a scrollbar: We shall invent a variable known as scrollbar and equate it to Scrollbar(root). It is important to add root into the brackets to integrate the scrollbar function into main root loop.

Now let’s pack the scrollbar: We call the variable name and append it with “.pack(). We use side = RIGHT so that the scrollbar is added to the right of the window and fill = Y or fill = “y” (Use anyone) so that it fill across the whole y-axis.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

from tkinter import *
  
root = Tk()
root.geometry("300x300")
root.minsize(height=560,
             width=560)
root.title("Notepad")
  
  
# implementing scrollbar functionality
scrollbar = Scrollbar(root)
  
  
# packing the scrollbar function
scrollbar.pack(side=RIGHT,
               fill=Y)
  
root.mainloop()

chevron_right


Output:

Now let’s add the text: We will use the text function and pack it. Also, we will configure the scrollbar for functionality. We will add a command called “yscrollcommand” which will connect the text and scrollbar function together and it would add scrolling option for the text.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

from tkinter import *
  
root = Tk()
root.geometry("350x250")
root.title("Sticky Notes")
root.minsize(height=250, width=350)
root.maxsize(height=250, width=350)
  
  
# adding scrollbar
scrollbar = Scrollbar(root)
  
# packing scrollbar
scrollbar.pack(side=RIGHT,
               fill=Y)
  
  
text_info = Text(root,
                 yscrollcommand=scrollbar.set)
text_info.pack(fill=BOTH)
  
# configuring the scrollbar
scrollbar.config(command=text_info.yview)
  
root.mainloop()

chevron_right


 Output:


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.