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: https://github.com/thedigitalempress ^.^
Full Youtube Video: