Chapter 1, Creating the GUI Form and Adding Widgets, explains how to develop our first GUI in Python. We will start with the minimum code required to build a running GUI application. Each recipe then adds different widgets to the GUI form.
Chapter 2, Layout Management, explores how to arrange widgets to create our Python GUI. The grid layout manager is one of the most important layout tools built into tkinter that we will be using.
Chapter 3, Look and Feel Customization, offers several examples of how to create a GUI with good look and feel. On a practical level, we will add functionality to the Help | About menu item that we created in one of the recipes.
Chapter 4, Data and Classes, discusses saving the data our GUI displays. We will start using object-oriented programming (OOP) in order to extend Python's built-in functionality.
Chapter 5, Matplotlib Charts, explains how to create beautiful charts that visually represent data. Depending on the format of the data source, we can plot one or several columns of data within the same chart.
Chapter 6, Threads and Networking, explains how to extend the functionality of our Python GUI using threads, queues, and network connections. This will show us that our GUI is not limited at all to the local scope of our PC.
Chapter 7, Storing Data in Our MySQL Database via Our GUI, shows us how to connect to a MySQL database server. The first recipe in this chapter will show you how to install the free MySQL Server Community Edition, while, in the following recipes, we will create databases and tables, and then load data into those tables and modify it. We will also read the data back out from the MySQL server into our GUI.
Chapter 8, Internationalization and Testing, explains how to internationalize our GUI by displaying text on labels, buttons, tabs, and other widgets in different languages. We will start with a simple example and then explore how we can prepare our GUI for internationalization at the design level. We will also explore several ways to automatically test our GUI using Python's built-in unit testing framework.
Chapter 9, Extending Our GUI with the wxPython Library, introduces another Python GUI toolkit that currently does not ship with Python. It is called wxPython, and we will be using the Phoenix version of wxPython, which was designed to work well with Python 3.
Chapter 10, Building GUIs with PyQt5, shows you how to use the wonderful PyQt5 GUI programming framework. Tesla Motors uses this to build their GUI software, and, in this chapter, we will explore the beautiful world of drag and drop IDE GUI development using Python binding with Qt5, which, underneath the hood, is built upon C++. If you wish to get serious about Python GUI development, you need to study this chapter in addition to tkinter.
Chapter 11, Best Practices, explores different best practices that can help us to build our GUI in an efficient way and keep it both maintainable and extendable. Best practices are applicable to any good code, and our GUI is no exception when it comes to designing and implementing good software practices.