We are now in Chapter 4 of Learning Python with Raspberry Pi!! 

I'm honestly so proud of myself. I built my first GUI with Python and ya girl is feeling pretty good about herself. 


So what did I learn from the first half of this chapter.. That trying to get a program that is supposed to work on a particular computing system run the same way on a completely different system is now my obsession.

This program was supposed to run completely on a Raspberry Pi system.


But since it would be difficult to document my process with the raspberry pi to upload Youtube videos I am altering the code to work on my Macbook. So far this has been a very taxing yet great learning experience for me and I look forward to continue doing this through out my coding journey.

Below are some  cool terms and concepts I learned while building my GUI:

Tk, GTK, and Qt: three modules that use different graphical toolkits

Widget: something that can be added to your program to allow a specific function; in this case it would be buttons

Inheritance: allows you to import specific items from a module to get certain functionality from that module

PySide: Python binding of the cross-platform GUI toolkit Qt

PyQt5: one of the two most popular Python bindings for the Qt cross-platform GUI/XML/SQL C++ framework

For this specific project we used PyQt5 instead of Pyside which is listed in the book. PyQt5 and Pyside are python bindings that allow you to import cross-platform application software to build things such as images and shapes like I did in this simple GUI.

During my process of setting up my local environment of PyQt5 on my Macbook I ran into a few road blocks, which I visually outline in my youtube video as well as my work arounds. I also now have a Github account that will eventually showcase all of my code and steps that is working for me to successfully build these Raspberry Pi projects!!

A few of the installation terminal lines that you will see on my GitHub to setup the local environment of PyQt5 may not have been needed. I noticed that after my code successfully ran after crashing out multiple times. 

Anywho, I am pooped and here is a complete gif of the program working in full affect.



My Github Account: ^.^

Full Youtube Video: