Book Image

Mastering GUI Programming with Python

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

Mastering GUI Programming with Python

5 (2)
By: Alan D. Moore

Overview of this book

PyQt5 has long been the most powerful and comprehensive GUI framework available for Python, yet there is a lack of cohesive resources available for Python programmers to learn how to use it. This book will be your comprehensive guide to exploring GUI development with PyQt5. You will get started with an introduction to PyQt5, before going on to develop stunning GUIs with modern features. You will learn how to build forms using QWidgets and delve into important aspects of GUI development such as layouts, size policies, and event-driven programming. Moving ahead, you’ll discover PyQt5’s most powerful features through chapters on audio-visual programming with QtMultimedia, database-driven software with QtSQL, and web browsing with QtWebEngine. Next, in-depth coverage of multithreading and asynchronous programming will help you run tasks asynchronously and build high-concurrency processes with ease. In later chapters, you’ll gain insights into QOpenGLWidget, along with mastering techniques for creating 2D graphics with QPainter. You’ll also explore PyQt on a Raspberry Pi and interface it with remote systems using QtNetwork. Finally, you will learn how to distribute your applications using setuptools and PyInstaller. By the end of this book, you will have the skills you need to develop robust GUI applications using PyQt.
Table of Contents (24 chapters)
Free Chapter
1
Section 1: Deep Dive into PyQt
8
Section 2: Working with External Resources
12
Section 3: Unraveling Advanced Qt Implementations
22
Upgrading Raspbian 9 to Raspbian 10

Upgrading Raspbian 9 to Raspbian 10

In Chapter 15, PyQt Raspberry Pi, Raspbian 10 is required so that you can have a sufficiently recent version of Python and PyQt5. At the time of publication, the current release of Raspbian is version 9, with version 10 expected in mid-to-late 2019. You can, however, upgrade to the testing version of Raspbian 10, which will work correctly for the purposes of this book.

To do so, follow these steps:

  1. First, verify that you're using Raspbian 9 by checking the contents of /etc/issue. It should read as follows:
  $ Rasbpian GNU/Linux 9 \n \l
  1. Open Command Prompt and, using sudo, edit /etc/apt/sources.list:
  $ sudo -e /etc/apt/sources.list
  1. Change every instance of stretch to buster. For example, the first line should read as follows:
deb http://raspbian.raspbrrypi.org/raspbian/
buster main contrib non-free rpi
  1. Run the sudo apt update command...