Adding a menu bar to our text editor

Since the menu bar will sit directly in our Tk widget we can put all of the menu logic in our texteditor.py file. Open this file up and add the following into the __init__ method underneath the creation of our Highlighter:

self.menu = tk.Menu(self, bg="lightgrey", fg="black")

This line creates us a Menu widget, which we will store a reference to under a menu attribute. We configure the colors to specific values for now, but this will change later.

After the creation of our main Menu widget we could define several more here in the __init__ method. However, this will quickly get very cluttered, not to mention it will require a lot of new code each time we want to add a new submenu into our menu bar.

Instead ...

Get Tkinter GUI Programming by Example now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.