Python GUI Programming Cookbook: Develop functional and responsive user interfaces with tkinter and PyQt5, 3rd EditionBurkhard Meier