We used the Canvas widget to define a custom widget in Chapter 5, Building an Audio Player. The Canvas widget is truly one of Tkinter's highlights. It is an incredibly powerful and flexible widget. Let's, therefore, devote most of this chapter to looking at the Canvas widget in detail.
We will now develop a paint application. The application will let the user draw freehand lines, straight lines, circles, rectangles, arcs, and other polygons. It will also let the user define new complex shapes.
In addition to exploring the Canvas widget, we will also develop a tiny GUI framework on top of the Tkinter interface. As you will see, frameworks are a great way to maximize code reuse. This makes them a powerful tool for Rapid