A second top-level window
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...