Summary
In this chapter, our simple form has taken a big step forward toward being a full-blown application. We've implemented a main menu, option settings that are persisted between executions, and an About dialog. We've added the ability to select a file where records are saved, and improved the visibility of form errors with an error dialog. Along the way, you learned about Tkinter menus, file dialogs, message boxes, and custom dialogs, as well as the various options for persisting data in the standard library.
In the next chapter, we're going to be asked to make the program read data as well as write it. We'll learn about Ttk's Treeview
and Notebook
widgets, and how to make our CSVModel
and DataRecordForm
classes capable of reading and updating existing data.