Transform your evolving user requirements into feature-rich Tkinter applications
Extensively revised with new content on RESTful networking, classes in Tkinter, and the Notebook widget
Take advantage of Tkinter's lightweight, portable, and easy-to-use features
Build better-organized code and learn to manage an evolving codebase
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.
What you will learn
Produce well-organized, functional, and responsive GUI applications
Extend the functionality of existing widgets using classes and OOP
Plan wisely for the expansion of your app using MVC and version control
Make sure your app works as intended through widget validation and unit testing
Use tools and processes to analyze and respond to user requests
Become familiar with technologies used in workplace applications, including SQL, HTTP, Matplotlib, threading, and CSV
Use PostgreSQL authentication to ensure data security for your application
Who this book is for
This book is for programmers who understand the syntax of Python, but do not yet have the skills, techniques, and knowledge to design and implement a complete software application. A fair grasp of basic Python syntax is required.
Table of Contents
Introduction to Tkinter
Designing GUI Applications
Creating Basic Forms with Tkinter and Ttk Widgets
Organizing Our Code with Classes
Reducing User Error with Validation and Automation
Planning for the Expansion of Our Application
Creating Menus with Menu and Tkinter Dialogs
Navigating Records with Treeview and Notebook
Improving the Look with Styles and Themes
Maintaining Cross-Platform Compatibility
Creating Automated Tests with unittest
Improving Data Storage with SQL
Connecting to the Cloud
Asynchronous Programming with Thread and Queue
Visualizing Data Using the Canvas Widget
Packaging with setuptools and cxFreeze
Appendix A : A Quick Primer on reStructuredText
Appendix B: A Quick SQL Tutorial