mattg31
Posts: 79
Joined: Fri Jan 05, 2018 9:55 pm

Best GUI program to learn

Mon Jul 30, 2018 3:46 pm

Hello, I'm hoping someone can point me in the right direction, be easy on me, I'm new to this amazing world of programming!
I have made a GUI for a project that I am working on using tkinter, python and a raspberry pi 3. It works OK, but I would like to expand and learn something different, and make it more professional in appearance and function.

Specifically:
I have used a few commercial devices lately (lighting controls, 3D printers) that are based on beaglebone, raspberry pi, or other linux based devices where you only interact with the software/GUI that was written by the folks who made these devices, and nothing else. There is no easy way (that I know of) to exit from their program/GUI and see a Ubuntu or raspbian desktop. It is almost as if they wrote their own OS to run on the raspberry pi or beaglebone.

I am probably explaining this terribly, but I would like to learn how to write something like this, but just don't know where to start, and I'm hoping someone can point me in the right googling direction!

Any help is appreciated!

scotty101
Posts: 3958
Joined: Fri Jun 08, 2012 6:03 pm

Re: Best GUI program to learn

Mon Jul 30, 2018 4:08 pm

You might find this topic helpful

viewtopic.php?t=152264

This post describes how to run GUI programs such as those created with tkinter, without running a "Window Manager".
Same principle applies to many other GUI frameworks which can be run without a window manager and just require Xorg to display the GUI.

The authors of the programs you have used may have started with a "light" version of an existing OS (like Raspbian Lite) and added just enough so that you can display a GUI. Or they may have built their own linux distribution using buildroot or some other method.
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

mattg31
Posts: 79
Joined: Fri Jan 05, 2018 9:55 pm

Re: Best GUI program to learn

Mon Jul 30, 2018 4:22 pm

Thank you! That's incredibly helpful. I will explore those options.

Thanks again.

mattg31
Posts: 79
Joined: Fri Jan 05, 2018 9:55 pm

Re: Best GUI program to learn

Tue Jul 31, 2018 3:14 pm

To build on my original question a bit: Can you suggest a platform to build a GUI that will run on the raspberry pi?

No matter how many colors and images I add, my tkinter GUI still looks like it was designed in 1990. That's probably a reflection of my programming abilities, but I also think there must be a more modern GUI builder out there? I have google searched this, and came across what appear to be some more popular ones like kivy and pyqt. However, looking at some examples of GUI's created using these, they still look pretty dated.
If someone is using buildroot to create their own OS, what program/language are they using to create the user interface, is this part of buildroot?
What I'm envisioning is emulating the iOS environment, or something similar.

Thanks again.
Matt

scotty101
Posts: 3958
Joined: Fri Jun 08, 2012 6:03 pm

Re: Best GUI program to learn

Tue Jul 31, 2018 3:48 pm

QT (QT for Python/Pyside) and Kivy are probably the best you are likely to find, especially with python support.

Both QT and Kivy do allow a much more modern approach towards styling your application to give a "modern" look and feel.
If there are specific behaviors and appearances of other GUI frameworks that you wish to replicate (like those in iOS :barf:) then you may either be able to create them or find widgets that others have created.

If you are open to creating a web UI, you might want to consider something like jQuery UI, it can create some slick, mobile phone like, interfaces. Might not be applicable for what you are doing though.
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

mattg31
Posts: 79
Joined: Fri Jan 05, 2018 9:55 pm

Re: Best GUI program to learn

Tue Jul 31, 2018 5:26 pm

Thanks again for the reply @scotty101, I'll dig into those options some more.

For JQuery, the code looks like it is javascript. Would I then need to use some type of python interpreter in order to utilize the python libraries for sensors/GPIO pins, etc?

scotty101
Posts: 3958
Joined: Fri Jun 08, 2012 6:03 pm

Re: Best GUI program to learn

Tue Jul 31, 2018 5:48 pm

mattg31 wrote:
Tue Jul 31, 2018 5:26 pm
For JQuery, the code looks like it is javascript. Would I then need to use some type of python interpreter in order to utilize the python libraries for sensors/GPIO pins, etc?
You could use jQuery alongside a web framework such as flask. Flask adds a nice way to create web clients for python applications. It does involve more learning as you need some knowledge of HTML, CSS, JavaScript and Python.
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

mattg31
Posts: 79
Joined: Fri Jan 05, 2018 9:55 pm

Re: Best GUI program to learn

Tue Jul 31, 2018 9:26 pm

Perfect, sounds like things I'd like to learn more about.
Thanks for the help! Saves me googling forever and probably going down the wrong learning path

Return to “Beginners”