The new window that will spawn for our find/replace box shall be stored in a new file. Create a new script called findwindow.py
and begin by entering the following:
import tkinter as tk import tkinter.ttk as ttk class FindWindow(tk.Toplevel): def __init__(self, master, **kwargs): super().__init__(**kwargs ) self.geometry('350x100') self.title('Find and Replace') self.text_to_find = tk.StringVar() self.text_to_replace_with = tk.StringVar() top_frame = tk.Frame(self) middle_frame = tk.Frame(self) bottom_frame = tk.Frame(self)
We will only need our usual Tkinter and ttk
imports for this class.
We subclass Tkinter's Toplevel
widget, which is a window that can act as a pop-up window to be displayed on top of a main window. It can be configured much like a regular Tk
widget, but requires a master
which needs to be an instance of the Tk
widget as it cannot act as the main window of an application. A widget such as this is a great fit for our find/replace window, since...