In this chapter, our simple form has taken a big step forward towards being a fully-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, and message boxes, 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 and write. We'll learn about Tkinter's tree widget, how to switch between main views, and how to make our CSVModel
and DataRecordForm
classes capable of reading and updating existing data.