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 of this approach, we will write a method that automatically figures out what menu commands we want from just a list of strings representing the submenu labels:
sub_menu_items = ["file", "edit", "tools", "help"] self.generate_sub_menus(sub_menu_items) self...