replace occurrences in python tkinter project

Exercise 204

Write a Python program based on the Tkinter library that prompts the user to enter text content in a text area T1 and an occurrence occ1 they want to replace with an occurrence occ2 in the text T1 and display the result in the text area T2, as shown in the figure above.

Solution

from tkinter import *

# Function that performs the replacement action
def replace():
    
    # Get data from the occ1 and occ2 entry fields
    occurrence1 = occ1.get()
    occurrence2 = occ2.get()
    
    # Get the content of the text area T1
    s1 = T1.get("1.0", END)
    
    # Replace occurrence1 with occurrence2 
    # and save the text in a variable s2
    s2 = s1.replace(occurrence1, occurrence2) 
    
    # Insert the new text s2 into the text field T2
    T2.delete("1.0", END)  # Clear previous content in T2
    T2.insert("1.0", s2)

# Create the main application window
root = Tk()
root.title("Replace Occurrence")
root.geometry("800x600")

# Create entry fields for occurrences occ1 and occ2
occ1 = Entry(root)
occ1.insert(0, 'occ1')  # Default text in occ1
occ1.place(x=100, y=20, width=200)
occ2 = Entry(root)
occ2.insert(0, 'occ2')  # Default text in occ2
occ2.place(x=400, y=20, width=200)

# Create the label for text area T1
TL1 = Label(root, text="Text 1")
TL1.place(x=50, y=20) 

# Create the text area T1 for input
T1 = Text(root)
T1.place(x=50, y=50, width=700, height=200) 

# Create the button that performs the action
btn_replace = Button(root, 
                     text='Replace Occurrence1 by Occurrence2', 
                     command=replace)
btn_replace.place(x=100, y=270, width=650)

# Create the label for text area T2
TL2 = Label(root, text="Text 2")
TL2.place(x=50, y=270) 

# Create the text area T2 for output
T2 = Text(root)
T2.place(x=50, y=310, width=700, height=200) 

# Start the Tkinter event loop
root.mainloop()



 

Younes Derfoufi
my-courses.net

Leave a Reply