RobLion
Posts: 3
Joined: Tue Sep 06, 2016 1:10 am

Integrated Python GUI builder and IDE

Tue Sep 06, 2016 1:34 am

Hi, this is my first posting :)

I got a raspberry pi3b with 7" screen and intend to create an program for monitoring and controlling my reef fish tank.

I'm 55 years old, and In my past had done a lot of FortranIV, Fortran77, Basic programming, but I am just looking for a quick and simple way to build my app without having to invest too much time learning a "modern" programming language.

I've scoured the internet / youtube etc, and it looks like Python will be simplest as I will need to access the GPIO pins and Hats i will make. At this time, I have no need to have the app running over the web etc, just on the RPi locally.

I have a Windows 8.1 PC too, and have putty and vncviewer working. Ideally I want to develop on my PC and move the code to the RPi to test.

Creating a GUI for my APP manually writing code seems an overkill, so a drag and drop approach to canvas and widget placement would be preferred, especially if I can add commands/signals to the GUI items.

Over time, i will develop code for reading my aquarium sensors, adjusting my lights, pumps, etc. so i will have to add pwm and dac controls.

I like the "flat" look to such an app, like this;

Image

I've looked at the QT range (QT creator/QtPy/designer etc), but it seems messy, developing a GUI in XML and converting it, without having the operation code I will have to write in it.

What GUI/IDE would you think would be best for me as I can't seem to find an integrated solution? (free ofcourse :D )

Any help gratefully accepted!
Rob

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

Re: Integrated Python GUI builder and IDE

Tue Sep 06, 2016 11:15 am

I don't believe that there are any :(

I've tried QT as well and also found that process painful so stuck with creating simple GUIs with Tkinter and manually writing out the code for the GUI layout.

It'd be great if there was a GUI Zero that provided an easy UI design solution for beginners to use similar to PyGame Zero and GPIO Zero.

Edit: I recall that someone had suggested that Glade/GTK was easier that QT http://python-gtk-3-tutorial.readthedoc ... ilder.html
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

RobLion
Posts: 3
Joined: Tue Sep 06, 2016 1:10 am

Re: Integrated Python GUI builder and IDE

Tue Sep 06, 2016 1:22 pm

Many thanks Scotty, I thought I was missing something..... Glade looks similar to QT, again creating XML and converting to python.....

Visual Python seems the only thing available, but..... man..... its way back in the 80;s :)

cscuilla
Posts: 58
Joined: Tue Apr 26, 2016 6:35 pm

Re: Integrated Python GUI builder and IDE

Tue Sep 06, 2016 5:34 pm

I'd look at webiopi http://webiopi.trouch.com/
which gives you a lot of control, or click on Cayane (also from above link) for drag and drop widgets.

dddomodossola
Posts: 42
Joined: Thu Jan 22, 2015 8:56 am

Re: Integrated Python GUI builder and IDE

Tue Sep 06, 2016 7:32 pm

Hi,
Take a look at this https://github.com/dddomodossola/remi

This library has a drag n drop gui editor, and it renders in browser. It should be really simple to use.
https://github.com/dddomodossola/remi/t ... ter/editor

RobLion
Posts: 3
Joined: Tue Sep 06, 2016 1:10 am

Re: Integrated Python GUI builder and IDE

Tue Sep 06, 2016 11:57 pm

many thanks cscuilla!!! perfect i think !
No custom scripting in it yet, but it looks like its in the works allow with custom widgets and sensors etc.

In the meantime ive been playing with QT Designer and PyQt5

Thank you again

Rob

User avatar
mattrix
Posts: 134
Joined: Mon Mar 02, 2015 6:20 am
Location: Christchurch, New Zealand
Contact: Website

Re: Integrated Python GUI builder and IDE

Mon Sep 12, 2016 9:36 pm

You could try Pyside
You can use QT Creator to generate .ui files
You can then convert these on the Pi using pyside-uic

Code: Select all

pyside-uic mainwindow.ui -o mainwindow.py
I made a minimal Pi image below that is ready to go and boots into a simple GUI made in Pyside:
http://www.matthuisman.nz/2016/01/raspb ... image.html

It keeps the GUI code and application code seperate.
This allows you to modify the .ui file, then generate the class (pyside-uic) without over-writing your application code.
www.matthuisman.nz

MikeRettig
Posts: 8
Joined: Wed Dec 16, 2015 3:25 pm

Re: Integrated Python GUI builder and IDE

Fri Oct 06, 2017 12:45 pm

I'm making an automated plant environment for my daughter for Christmas and am working out the hardware and software issues slowly. I looked around for a GUI editor for Python too, and I'm disappointed. The ones I've tried so far are so convoluted that you give up before you get anything on the screen. I have hopes for the latest one I've found called PAGE, which seems simpler than most, but I haven't got it running on Mint 17 yet.
(Upgrading to Mint 18 today.)

I like your sample screenshot - my idea was to have the local weather, time, date, sunrise and sunset times and forecast displayed as well as watering status of all the plants, indoor temperature and water pump control status (submersible 5v pumps). Originally I wanted to use an Arduino Nano running Firmata as an interface to the Pi so that I could utilize the analog pins. There is the MCP3008 A/D chip that will work on the Pi, but I already have the Nano. Firmata doesn't seem to be too popular though, and I gave up trying to get it to work with my application. I'm going to just communicate with the Nano through Python with serial text messages and send data in that fashion. I've purchased opto-isolated relays through Ebay that can interface with the 3.3v logic levels on the Pi and still run the relay coils from 5v for the pumps.

Keep us posted on your progress - I'll let you know how PAGE works out if I can ever get it running!

User avatar
MrYsLab
Posts: 440
Joined: Mon Dec 15, 2014 7:14 pm
Location: Noo Joysey, USA

Re: Integrated Python GUI builder and IDE

Fri Oct 06, 2017 5:35 pm

I have used remi https://github.com/dddomodossola/remi and its WYSIWYG editor. It generates much of the code (which is very readable and easily modifiable) and support has been great.

You can take a look at one of my projects using remi here: https://github.com/MrYsLab/razmq.

This project also has a kivy gui. Kivy is visually stunning but is not as easy to deal with. IMHO, remi is the way to go to get something up and running quickly.

MikeRettig
Posts: 8
Joined: Wed Dec 16, 2015 3:25 pm

Re: Integrated Python GUI builder and IDE

Fri Oct 06, 2017 9:02 pm

Page is working for me now. I actually made a skeleton GUI in about 15 minutes that looks promising. It's not the most stunning graphic interface I've ever seen, but since I will only be using it to monitor and water my plants, I doubt if they'll mind at all. I don't think we'll get a display as elegant as the one posted by MrYsLab, but I don't plan to be staring at the screen for hours on end either. Now I can work on getting Python to do what I want it to do when I push the buttons! That might take a month or two...

bb677a
Posts: 11
Joined: Mon Jan 02, 2017 9:38 pm

Re: Integrated Python GUI builder and IDE

Thu Oct 12, 2017 7:47 pm

For quick and easy GUI's try wxPython. It is fast, it is easy, and not sleek looking at all. wxFormBuilder is a program that will allow you to visually create a GUI as well as events and directly output to Python, or a few other languages. This is the simplest solution I have used.

FYI - you will thank yourself later if you keep your GUI code separate from your functionality code as much as possible. Based on your previous languages it may be worth spending a little time looking into object oriented programming - leveraging classes and inheritance works very well and simplifies things, but initially takes some time/practice to really get how to use them. Most people that used Fortran (that I've worked with) are used to sequentially writing code (top-down design).


If you want a better looking interface I've used PySide and had very satisfactory results, but there is no way around manually programming the GUI. In Qt you can set it up so it automatically converts the *.ui file into Python so you don't have to manually do it every time, but it is a little more of a pain. That does allow use of the Qt Designer.

Return to “Python”