Book Image

Python GUI Programming with Tkinter, 2nd edition - Second Edition

By : Alan D. Moore
4.5 (2)
Book Image

Python GUI Programming with Tkinter, 2nd edition - Second Edition

4.5 (2)
By: Alan D. Moore

Overview of this book

Tkinter is widely used to build GUIs in Python due to its simplicity. In this book, you’ll discover Tkinter’s strengths and overcome its challenges as you learn to develop fully featured GUI applications. Python GUI Programming with Tkinter, Second Edition, will not only provide you with a working knowledge of the Tkinter GUI library, but also a valuable set of skills that will enable you to plan, implement, and maintain larger applications. You’ll build a full-blown data entry application from scratch, learning how to grow and improve your code in response to continually changing user and business needs. You’ll develop a practical understanding of tools and techniques used to manage this evolving codebase and go beyond the default Tkinter widget capabilities. You’ll implement version control and unit testing, separation of concerns through the MVC design pattern, and object-oriented programming to organize your code more cleanly. You’ll also gain experience with technologies often used in workplace applications, such as SQL databases, network services, and data visualization libraries. Finally, you’ll package your application for wider distribution and tackle the challenge of maintaining cross-platform compatibility.
Table of Contents (22 chapters)
19
Other Books You May Enjoy
20
Index
Appendices

Creating simple graphs using Canvas

The first graph we want to produce is a simple line graph that shows the growth of our plants over time. Each lab has varying climate conditions, and we want to see how those conditions are affecting the growth of all plants, so the chart will have one line per lab showing the average of the median height measurements for all plots in the lab over the days of the experiment.

We'll start by creating a model method to return the raw data, then create a Canvas-based line-chart view, and finally create an application callback to pull the data and send it to the chart view.

Creating the model method

Working with another data analyst at ABQ, you develop a SQL query that determines the day number of a plot check by subtracting its date from the oldest date in the plot_checks table, then pulls lab_id and the average of median_height for all plants in the given lab on the given day. The query looks like this:

SELECT
  date - (SELECT...