Book Image

Python GUI programming with Tkinter

By : Alan D. Moore
Book Image

Python GUI programming with Tkinter

By: Alan D. Moore

Overview of this book

Tkinter is a lightweight, portable, and easy-to-use graphical toolkit available in the Python Standard Library, widely used to build Python GUIs due to its simplicity and availability. This book teaches you to design and build graphical user interfaces that are functional, appealing, and user-friendly using the powerful combination of Python and Tkinter. After being introduced to Tkinter, you will be guided step-by-step through the application development process. Over the course of the book, your application will evolve from a simple data-entry form to a complex data management and visualization tool while maintaining a clean and robust design. In addition to building the GUI, you'll learn how to connect to external databases and network resources, test your code to avoid errors, and maximize performance using asynchronous programming. You'll make the most of Tkinter's cross-platform availability by learning how to maintain compatibility, mimic platform-native look and feel, and build executables for deployment across popular computing platforms. By the end of this book, you will have the skills and confidence to design and build powerful high-end GUI applications to solve real-world problems.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Integrating SQL into our application


Converting our application to a SQL backend will be no small task. The application was built around the assumption of the CSV files, and although we've taken care to separate our concerns, many things are going to need to change.

Let's break down the steps we'll need to take:

  • We'll need to write a SQL model
  • Our Application class will need to use the SQL model
  • The record form will need to be reordered to prioritize our keys, use the new lookups, and autopopulate using the database
  • The record list will need to be adjusted to work with the new data model and primary keys

Along the way, we'll need to fix other bugs or implement some new UI elements as needed. Let's get started!

Creating a new model

We'll start in models.py by importing psycopg2 and DictCursor:

import psycopg2 as pg
from psycopg2.extras import DictCursor

DictCursor will allow us to fetch results in Python dictionary rather than the default tuples, which is easier to work with in our application.

Begin...