Book Image

Python GUI Programming - A Complete Reference Guide

By : Alan D. Moore, B. M. Harwani
Book Image

Python GUI Programming - A Complete Reference Guide

By: Alan D. Moore, B. M. Harwani

Overview of this book

A responsive graphical user interface (GUI) helps you interact with your application, improves user experience, and enhances the efficiency of your applications. With Python, you’ll have access to elaborate GUI frameworks that you can use to build interactive GUIs that stand apart from the rest. This Learning Path begins by introducing you to Tkinter and PyQt, before guiding you through the application development process. As you expand your GUI by adding more widgets, you'll work with networks, databases, and graphical libraries that enhance its functionality. You'll also learn how to connect to external databases and network resources, test your code, and maximize performance using asynchronous programming. In later chapters, you'll understand how to use the cross-platform features of Tkinter and Qt5 to maintain compatibility across platforms. You’ll be able to mimic the platform-native look and feel, and build executables for deployment across popular computing platforms. By the end of this Learning Path, you'll have the skills and confidence to design and build high-end GUI applications that can solve real-world problems. This Learning Path includes content from the following Packt products: Python GUI Programming with Tkinter by Alan D. Moore Qt5 Python GUI Programming Cookbook by B. M. Harwani
Table of Contents (28 chapters)
Title Page

Writing tests for our application

Let's put our knowledge of unittest to work and write some tests for our application. To get started, we need to create a test module for our application. Make a directory called test inside the abq_data_entry package, and create the customary empty __init__.py file inside. We'll create all of our test modules inside this directory.

Testing our model

Our CSVModel code is fairly self-contained apart from its need to read and write files. Since file operations are one of the more common things that need to be mocked out in a test, the mock module provides mock_open, a Mock subclass ready-made to replace Python's open method. When called, a mock_open object returns a mock file handle object...