Author Topic: GUI for Python?  (Read 3401 times)

0 Members and 1 Guest are viewing this topic.

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
GUI for Python?
« on: June 07, 2022, 10:40:09 am »
Any recommendation from your personal experience?  What GUI to use for Python?

- would like to be something "python-esque", easy to use for non-programmers, just like Python is easier to use for amateurs than, say, C++ would be.
- has to have a drag&drop graphic editor to add controls and design the GUI, designing the layout by writing code is not productive for me
- preferably open source and definitely free, it's for hobby and non-commercial projects
- for my level of skills, the old VB5 was just right, with drag and drop buttons and auto generated code, then all you have to do was to populate the empty template with code for the desired actions, would prefer an equivalent for that VB5 style, if there is any
- multiplatform preferably, Linux is a must



Googled already, and tried so far a couple of them:

1. Qt and its "Qt Designer" - (that was some time ago, IIRC the wrapper module was called PyQt), thought I remember it as very cumbersome, hard to learn and also Qt is not entirely free (depending on the type of license one need/choose), certainly not FOSS

2. PySimpleGUI - that was the simplest to use so far, but there's no GUI designer for PySimpleGUI, only some unbaked attempts to import XML ui produced by Qt Designer, which import tool seems abandoned and doesn't work any more

3. DearPyGui - it's very "Windows-ish" (has a registry for its GUI no matter the OS), thought it's open source and with MIT license.  The main drawback (for me) is that it's not really for preparing a GUI, but more for making/developing tools for 2D/3D games.  DearPyGui is based on ImGui, a C++ lib/engine for game devs, which ImGui is sponsored by big names like Blizzard or Ubisoft.  The Python wrapper is very impressive and working, yet it is too recent, the video tutorials from 1-2 years ago are almost not applicable to current version.  And still doesn't have a drag and drop designer.



They are all great Python GUI programs, yet none are just right for me.  The GUI part feels to me like a dragging or a chore task, maybe it's just me, or maybe I have wrong expectation, IDK.  :-//

Been looking for something easy, to use for small project/single developer.  For example to slap a GUI on a small board I make, or to control an existing devboard, or an instrument around the lab, things like that.  For example adding a GUI for a data logger from a COM port, or a GUI for an SCPI tool to automate repeated measurements, or other small Python programs like that.  I'm using mostly Linux/KDE (Kubuntu).


What did you guys are using for that, or seen and liked, when it comes to making a GUI, or what do you think I should try?
« Last Edit: June 10, 2022, 08:49:16 am by RoGeorge »
 

Offline GeorgeCh

  • Newbie
  • Posts: 3
  • Country: ro
Re: GUI for Python?
« Reply #1 on: June 07, 2022, 10:56:35 am »
Hi,
    I've tried a number of things but in the end Qt Designer and PyQt seemed more usable and more baked. Yes, at first its hard and cumbersome, but for simple GUIs will be fast and hassle free enough to be worth it.
    I use it from time to time for the exact same purpose -> simple GUI for whatever project I'm working at that moment.


G

PS: If you need to create graphs take a look at PyQtGraph
 
The following users thanked this post: RoGeorge

Offline emece67

  • Frequent Contributor
  • **
  • Posts: 616
  • Country: 00
Re: GUI for Python?
« Reply #2 on: June 07, 2022, 11:07:50 am »
.
« Last Edit: August 19, 2022, 05:31:46 pm by emece67 »
 
The following users thanked this post: RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #3 on: June 07, 2022, 05:52:24 pm »
In this case back to square one, I guess, thank you both.  Meaning back to Qt, will put some extra effort into learning more Qt.  Its Qt Designer is very good, indeed.

Offline GeorgeCh

  • Newbie
  • Posts: 3
  • Country: ro
Re: GUI for Python?
« Reply #4 on: June 08, 2022, 05:40:53 am »
As will all python things, you will make rapid progress in your application. You can take comfort in this at least.

G
 

Online Ed.Kloonk

  • Super Contributor
  • ***
  • Posts: 3262
  • Country: au
  • Cat video aficionado
Re: GUI for Python?
« Reply #5 on: June 08, 2022, 06:06:27 am »
Any recommendation from your personal experience?  What GUI to use for Python?

- would like to be something "python-esque", easy to use for non-programmers, just like Python is easier to use for amateurs than, say, C++ would be.
- has to have a drag&drop graphic editor to add controls and design the GUI, designing the layout by writing code is not productive for me
- preferably open source and definitely free, it's for hobby and non-commercial projects
- for my level of skills, the old VB5 was just right, with drag and drop buttons and auto generated code, then all you have to do was to populate the empty template with code for the desired actions, would prefer an equivalent for that VB5 style, if there is any
- multiplatform preferably, Linux is a must



Googled already, and tried so far a couple of them:

1. Qt and its "Qt Designer" - (that was some time ago, IIRC the wrapper module was called PyQt), thought I remember it as very cumbersome, hard to learn and also Qt is not entirely free, certainly not FOSS

2. PySimpleGUI - that was the simplest to use so far, but there's no GUI designer for PySimpleGUI, only some unbaked attempts to import XML ui produced by Qt Designer, which import tool seems abandoned and doesn't work any more

3. DearPyGui - it's very "Windows-ish" (has a registry for its GUI no matter the OS), thought it's open source and with MIT license.  The main drawback (for me) is that it's not really for preparing a GUI, but more for making/developing tools for 2D/3D games.  DearPyGui is based on ImGui, a C++ lib/engine for game devs, which ImGui is sponsored by big names like Blizzard or Ubisoft.  The Python wrapper is very impressive and working, yet it is too recent, the video tutorials from 1-2 years ago are almost not applicable to current version.  And still doesn't have a drag and drop designer.



They are all great Python GUI programs, yet none are just right for me.  The GUI part feels to me like a dragging or a chore task, maybe it's just me, or maybe I have wrong expectation, IDK.  :-//

Been looking for something easy, to use for small/single person projects.  For example to slap a GUI on a small board I make, or to control an existing devboards, or an instruments around the lab, things like that.  For example adding a GUI for a data logger from a COM port, or a GUI for an SCPI tool to automate repeated measurements, or other small Python programs like that.  I'm using mostly Linux/KDE (Kubuntu).


What did you guys are using for that, or seen and liked, when it comes to making a GUI, or what do you think I should try?

As a long-time non-gui C guy, what I have been using recently is Glade. I don't know if you'll find anything as seamless as VB. Glade does a pretty good job if you spend the time and watch any of the 20-video series tutorials on youtube. I recommend watching a series all or most of the way through to get a real feel for Glade.

I only use C though (not python) because I'm not a masochist.
[ducks for cover]

 :popcorn:

edit:  from the Glade Website:
Quote
By using GtkBuilder, Glade XML files can be used in numerous programming languages including C, C++, C#, Vala, Java, Perl, Python,and others.
« Last Edit: June 08, 2022, 06:09:43 am by Ed.Kloonk »
 
The following users thanked this post: RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #6 on: June 08, 2022, 07:01:44 am »
Looks very eye candy, will give Glade a try, too, thanks.  :-+
Used C in the past, but now I prefer Python.  Python is more productive, and has modules for anything, from math to controlling an RTL-SDR.

For amateur programmers like me, this is how writing in Python feels:


 ;D

Online Ed.Kloonk

  • Super Contributor
  • ***
  • Posts: 3262
  • Country: au
  • Cat video aficionado
Re: GUI for Python?
« Reply #7 on: June 08, 2022, 07:19:26 am »
Looks very eye candy, will give Glade a try, too, thanks.  :-+
Used C in the past, but now I prefer Python.  Python is more productive, and has modules for anything, from math to controlling an RTL-SDR.

For amateur programmers like me, this is how writing in Python feels:
 ;D

FWIW, I have given Python a few fair chances to woo me during 'the thing'. I set up the full IDE python dev suites and I had nothing but trouble. The crashes. The libs. The IDE's desire to engulf your whole little project and spam your directory with stupid config files..

I'm a simple man with simple needs. Geany and Glade. And C.   :-+

Maybe it works better on windows. But Python makes me stabby.
 
The following users thanked this post: CJay

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #8 on: June 08, 2022, 08:56:32 am »
I have no idea what Python IDE full dev suite means.  :o

AFAIK Python is only the interpreter for the Python language.  Sometimes it came bundle with a very simple IDE called "IDLE" (mostly for Windows distributions).  Any text editor or preferred IDE can be used instead IDLE.  There is also an interactive mode, text only, where one can type Python in a terminal/cmd.

Usually Python is already present in Linux.  For Windows, I don't know.  In the past for Windows it used to be an Python.exe to download and double click/next/next/next for installing.  For something like a Debian flavour Linux it's
Code: [Select]
apt install python3 from a root terminal, or use sudo.

One of the Python mantras is "batteries included", so most of the basic stuff is ready to use.  However, to do something more weird, like plotting a 3D chart while controlling your favorite RTL-SDR usb radio, you'll need to add specialized Python modules (or write your own if you prefer).

To install Python modules, there is a command line tool, called "pip", and official Python "repositories" (PyPI) for additional Python modules, so all you have to do to install additional Python functionality (modules) is to write in a command line:
Code: [Select]
pip install matplotlib
pip install pyrtlsdr

Then open any text editor, write and save this as RTL-SDR.py
Code: [Select]
from pylab import *
from rtlsdr import *

sdr = RtlSdr()

# configure device
sdr.sample_rate = 2.4e6
sdr.center_freq = 95e6
sdr.gain = 4

samples = sdr.read_samples(256*1024)
sdr.close()

# use matplotlib to estimate and plot the PSD
psd(samples, NFFT=1024, Fs=sdr.sample_rate/1e6, Fc=sdr.center_freq/1e6)
xlabel('Frequency (MHz)')
ylabel('Relative power (dB)')

show()

To run it, in a terminal/cmd type
Code: [Select]
python RTL-SDR.py
And you'll get this

Source:  https://pypi.org/project/pyrtlsdr/

Same can be achieved in interactive mode, by typing it all directly in Python (in a terminal/cmd type "python", then at the >>> python prompt type the above text), thought usually a .py script is preferred.

It's that easy.  You just learned how to Python.  ;D

Joke aside, if you try to do the same plot in C, I'll bet it would be much harder, and will need a more complicated setup.
 
The following users thanked this post: Someone, newbrain

Offline emece67

  • Frequent Contributor
  • **
  • Posts: 616
  • Country: 00
Re: GUI for Python?
« Reply #9 on: June 08, 2022, 09:24:22 am »
.
« Last Edit: August 19, 2022, 05:31:58 pm by emece67 »
 
The following users thanked this post: newbrain

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #10 on: June 08, 2022, 09:39:11 am »
He, he, same preference here.  I'm using VS Codium, which is VS Code compiled without Microsoft's telemetry and alike options.

VS Code is one of the finest IDE out there, IMHO.  Saying that while I'm not a Microsoft fan.  Sometimes less known, VS Code / VS Codium is also free and open source, even if it's a software coming from Microsoft.

Online Ed.Kloonk

  • Super Contributor
  • ***
  • Posts: 3262
  • Country: au
  • Cat video aficionado
Re: GUI for Python?
« Reply #11 on: June 08, 2022, 09:40:38 am »
I have no idea what Python IDE full dev suite means.  :o

Installing IDE environments consisting of Eclipse or PyCharm. Even tried Eric.

Quote

AFAIK Python is only the interpreter for the Python language. 

Yes. But I wanted to follow along with various youtube tutes and be able to also take advantage of run/stop features.

Nightmare.

I think it was eclipse, a vanilla install, wouldn't even open a new project without choking. Java something or other.
« Last Edit: June 08, 2022, 09:49:34 am by Ed.Kloonk »
 

Offline emece67

  • Frequent Contributor
  • **
  • Posts: 616
  • Country: 00
Re: GUI for Python?
« Reply #12 on: June 08, 2022, 10:59:05 am »
.
« Last Edit: August 19, 2022, 05:32:06 pm by emece67 »
 
The following users thanked this post: Ed.Kloonk

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #13 on: June 08, 2022, 01:36:39 pm »
Yep.
- Install VS Codium as instructed for your OS:  https://vscodium.com/
- Open Codium and from inside it, hit Ctrl+Shift+X, and search for Python, to install the VS Codium extension called "Python", the one from Microsoft, with all the autocomplete, syntax, debugging, Jupyter, etc.
- Close Codium then start it again, and that's it. 

Now inside VS Codium go to menu, File -> New file... and click Python File, and start typing your Python code:
Code: [Select]
print("B a z i n g a   !!!")Hit Ctrl+F5 to Run it, or F5 to Debug run it.
You are now almost Python guru level. :D


Now, to get fancy and back to GUI, let's try a CPU % display with Tkinter, the default GUI framework coming with Python (batteries included is the Python mantra), GUI based on Tcl/Tk.  However, to read the CPU usage we'll need to install a new Python module called 'psutil', by typing in a terminal/cmd:
Code: [Select]
pip install psutil
Back to VS Codium and type this:
Code: [Select]
import psutil
import tkinter as tk

def update_label_2():               # a function to autoupdate the proc %
    cpu_percent = psutil.cpu_percent()
    label_2.config(text=str(cpu_percent))
    GUI.after(100, update_label_2)  # reschedule to run again after 100ms

GUI = tk.Tk()                       # create the top window of a GUI

label_1 = tk.Label(GUI, text=':o)   CPU %   :o)')  # create a label inside top window
label_1.pack()                      # render the label_1 label

label_2 = tk.Label(GUI, text='100') # a second label
label_2.pack()

btn = tk.Button(GUI, text='E X I T', command=GUI.quit) # an exit button
btn.pack()

GUI.after(0, update_label_2)        # schedule to call update_label_2 function at first run
tk.mainloop()                       # start the window loop
Hit Ctrl+F5 to Run it.  A window with live processor usage will open.

See?  It's hard to find an easier language.
You are now officially Knight level 14 in Python!  8)

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 4122
  • Country: fi
    • My home page and email address
Re: GUI for Python?
« Reply #14 on: June 08, 2022, 05:09:49 pm »
I use both Gtk+ 3.0 (in C) and Qt 5 (in Python 3) quite a lot.

Both support defining user interfaces in an XML-based language, as .ui files.  In Gtk+, this is done using the GtkBuilder interface (better old documentation); in Qt, using the QUiLoader interface.

There are two different Python 3 bindings for Qt5: PyQt5 and PySide2.  There exists a compatibility layer, QtPy, which allows an application to use both.  A couple of years ago in a different thread here, I showed a minimal implementation providing the same – i.e., write your Python 3 and Qt 5 code in a way that works with either PyQt5 or PySide2, as long as at least one is installed.

Later on in that same thread, I showed an example of how to use the uic.py in the post linked to above, and an .ui file (that one can edit in Qt Designer), to talk to an USB-connected microcontroller on non-Windows machines (because it uses the POSIX termios for the USB Serial).

In general, I'm a heavy proponent of the approach of letting end users mess with the User Interface as much as they want, because I myself as an end user want that kind of power.  If there is any heavy computation or Secret Sauce, I put it in native code, in a dynamically loaded library, as interfacing to such is easy from Python.  And anything but trivial user interfaces are better described using an .ui file; nobody needs the hassle of maintaining code that implements one in the long term!

While my code is generally intended to be easily portable across all systems, I do not currently have a Windows machine (or a VM with Windows; I should set one up for exactly this reason!), so they often lack the quirks Windows need.  It is not an ideological choice; it's just that I'd rather be ready to write it when needed, instead of guessing and not testing it works, and possibly leading others astray.
 
The following users thanked this post: RoGeorge

Offline paul@yahrprobert.com

  • Regular Contributor
  • *
  • Posts: 50
  • Country: us
Re: GUI for Python?
« Reply #15 on: June 09, 2022, 01:35:29 am »
wxPython is alive and well and runs under python 3.x nowadays.  go to www.wxpython.org for details.  There are several tools for building a gui such as wxGlade and wxDesigner, though I prefer to write my code by hand using the "sizers" to lay out my widgets.  The coolest thing is that it comes with a comprehensive demo package that shows all the widgets and lets you steal code from them to build your own app.
 
The following users thanked this post: RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #16 on: June 09, 2022, 06:13:49 am »
I use both Gtk+ 3.0 (in C) and Qt 5 (in Python 3) quite a lot.

Tried Qt some time ago, following your advice here, thanks:  :-+
https://www.eevblog.com/forum/programming/python-becomes-the-most-popular-language/msg3763337/#msg3763337
but I didn't try Gtk because back then I didn't like its general look/graphic design.

About Gtk 3, looked at it again yesterday and still don't like it.  It's graphic elements seems like Gtk3 was designed for a phone or a tablet.  I want something that looks like a desktop GUI, anything between Win95 and WinXP look, or KDE from Linux, would be great.  Gtk 2 looks a little better, but still not as nice as KDE, and since now there is Gtk 3, I expect Gtk 2 to be abandoned in the future.

In terms of programming easiness, at a brief browsing of its doc pages Gtk 3 looks to me about the same as any other in terms of number of lines per a given goal to achieve, but I wouldn't be able to identify if there are programming advantages when using Gtk3.

Given the fact that visually I prefer the Qt/KDE look over Gtk/Gnome, is there any programming advantage to make one choose Gtk3 over something else?



wxPython is alive and well and runs under python 3.x nowadays. go to www.wxpython.org for details.
Never tried wxPython before, because it seemed abandoned.  The latest news in the linked page is from the end of 2020, yet https://github.com/wxWidgets/Phoenix seems active, with last submit from yesterday.  :-//

Will test wxPython, too, thanks.
« Last Edit: June 09, 2022, 06:27:42 am by RoGeorge »
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 4122
  • Country: fi
    • My home page and email address
Re: GUI for Python?
« Reply #17 on: June 09, 2022, 09:54:15 am »
Given the fact that visually I prefer the Qt/KDE look over Gtk/Gnome, is there any programming advantage to make one choose Gtk3 over something else?
If we are talking about programming in Python, no.

If we talk about programming in different languages, then Gtk+ is natively C, and Qt C++.  Other than that, I find them generally very similar in purpose and approach.

With Python 3, I do prefer Qt 5, but the reason has more to do with visuals and availability of documentation (for both PySide2 and PyQt5 bindings, noting that the main difference is between PySide2's QtUiTools and PyQt5's uic, which can be bridged with QtPy or the aforementioned uic.py from it) than anything else.

That said, there is "Python" documentation for Gtk+, too; namely, the Gtk+ 3.0 PyGObject reference.  PyGObject is the Python interface to all glib-based libraries: GObject provides introspection files (see /usr/share/gir-*/*.gir; the format is XML-based, so human readable) directly from the C sources, that PyGObject (gi Python module, python3-gi Debian package) can generate the Python bindings for at run time.  That is, you only really need the runtime dynamic library files, the gobject introspection files, and interpreted languages like Python and Perl can generate the bindings for the libraries at run time.  Which is nice.

If I were already using gi in Python to interface to some library, I would then choose Gtk+ for the UI instead of Qt.  Thus, I guess there are situations where one would find it advantageous/easier to pick one instead of the other, but it really depends on the application one is implementing; and most of all, what other libraries one intends to use.

Serial port access is one of those complicated things.  I personally am comfortable using termios and low-level I/O (in both C and Python), but it isn't portable (to Windows).  The existing serial port Python libraries just can't deal with all possible use cases, and many make inane stupid assumptions (like write() syscall on a serial port never failing and never returning a short count) that leads me to trust them as much as I trust snake oil salesmen.  (And I cannot write a "better one" myself, because the built-in termios Python module suffices, and I don't know enough about Windows' serial port shenanigans to design a portable API.  Heck, I don't even like using the TTY layer in POSIXy systems for USB Serial, because it slows comms down at USB 2.0 High Speed (480 Mbit/s).  It's just easier to switch to USB bulk transfers than to try and get a new character device driver accepted upstream for stuff that already is supported, and only a bottleneck for a few very fast MCUs.)
 
The following users thanked this post: RoGeorge

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1766
  • Country: br
Re: GUI for Python?
« Reply #18 on: June 09, 2022, 01:58:07 pm »
Nominal  placed some interesting points about wrappers

All Python and PERL  ( not TCL ...)  GUIs are wrappers..

The only NATIVE  GUI builtin in around all these kits surprisingly hits the folks on FPC

the IDE https://www.lazarus-ide.org/ is a piece of cake and a TurboVision debugger is available.

Apart C and C++  there is no excuse to (also consider or) not use PASCAL
the pros list is long

and the typical whiners  claims are just whining ...

Paul
 
The following users thanked this post: RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #19 on: June 09, 2022, 03:05:00 pm »
Thanks for the link, there's a big collection there of how each GUI looks like under different OSs https://wiki.lazarus.freepascal.org/Screenshots

Used Turbo Pascal for a while, it's a nice language but I don't remember it as productive as Python.  And there is another (unfair) advantage Python has, and that's the abundance of its modules.  Because it is so popular, there is an already written module for almost anything you can imagine or need to do from Python.

To me software is yet another pair of pliers in the toolbox.  I'm an electronist, so all I know is I have to control some device in the lab, or to process a file, etc. and want to see that done.  For sure there is also beauty and elegance and quality in software, just that I know too little to notice all that.  When one is not a programmer there is only pragmatism, with no fanboy-ism and no attachment when it comes to which language or which software to use.  Whatever fits the bill.

I've read the above paragraph before posting, and realized I might be a "software sociopath".  ;D
 :scared:
« Last Edit: June 09, 2022, 03:11:13 pm by RoGeorge »
 

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1766
  • Country: br
Re: GUI for Python?
« Reply #20 on: June 09, 2022, 03:20:43 pm »
Thanks for the link, there's a big collection there of how each GUI looks like under different OSs https://wiki.lazarus.freepascal.org/Screenshots

Used Turbo Pascal for a while, it's a nice language but I don't remember it as productive as Python.  And there is another (unfair) advantage Python has, and that's the abundance of its modules.  Because it is so popular, there is an already written module for almost anything you can imagine or need to do from Python.
(..)

Surprisingly  for anyone w bare minimal PASCAL skills...  today FPC offers the FULL *NIX ecosystem already ready ... if you spare some time to fuss around  you will find already made wrappers for X11, SQL, Postgres, sqlite, all modern toolkits... TurboVision..  GDB,,  and a whole lot more..

Impressive amount of progress for a veteran fast stable and predictable language..

With bare minimal skills  it will be  easier and much more robust than Python
Reason being: the  type safe compiler ...  lots of ready units...  no traceback shit

Support large projects with any modern GUI and inter operating systems

No excuses to not have it around
Paul
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 4266
  • Country: ro
Re: GUI for Python?
« Reply #21 on: June 10, 2022, 05:51:00 am »
There is another interesting GUI called REMI (REMote Interface), which doesn't use any GUI framework.  Instead, REMI builds a webpage, and its GUI opens in a web browser.  REMI has an embedded webserver and a WISIWYG GUI editor, too.  There is a standalone option but I didn't try that yet (standalone as in no web browser needed?).

The developer doesn't need to know HTML or other web technology, only Python.

https://github.com/rawpython/remi
https://github.com/rawpython/remi/tree/master/editor



A web GUI seems very appealing, especially when the Python application will run on a remote SBC, e.g. on a headless Raspberry Pi.  I like that.

Installed REMI last night and got an error from rhe REMI editor at saving the webgui.  It was early AM hours and probably I've missed some steps, will try again this weekend.
« Last Edit: June 10, 2022, 05:53:08 am by RoGeorge »
 
The following users thanked this post: GeorgeCh

Offline bd139

  • Super Contributor
  • ***
  • Posts: 22932
  • Country: gb
Re: GUI for Python?
« Reply #22 on: June 10, 2022, 07:20:54 am »
Built some large things in wxpython. Can recommend. As for IDE VSCode is where it’s at these days. When I say where it’s at, I mean that there is significant community attention to actually make it a nice place to be.

Really though when I build GUI applications these days I tend to build them in Go as an http server and write the UI in HTML/JS. That has the advantage of producing a single cross compiled binary with no dependencies per platform, strong typing throughout, very low footprint. Most importantly it’s actually possible to write a decent test suite against a browser application compared to other solutions.
 
The following users thanked this post: RoGeorge

Online Ed.Kloonk

  • Super Contributor
  • ***
  • Posts: 3262
  • Country: au
  • Cat video aficionado
Re: GUI for Python?
« Reply #23 on: June 10, 2022, 07:36:19 am »
Built some large things in wxpython. Can recommend. As for IDE VSCode is where it’s at these days. When I say where it’s at, I mean that there is significant community attention to actually make it a nice place to be.

Really though when I build GUI applications these days I tend to build them in Go as an http server and write the UI in HTML/JS. That has the advantage of producing a single cross compiled binary with no dependencies per platform, strong typing throughout, very low footprint. Most importantly it’s actually possible to write a decent test suite against a browser application compared to other solutions.

Wow. Mind blown.

Do you know of a good tutorial where one could follow a hullo world example (and perhaps beyond) without too much install library hell?
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 22932
  • Country: gb
Re: GUI for Python?
« Reply #24 on: June 10, 2022, 07:53:35 am »
Built some large things in wxpython. Can recommend. As for IDE VSCode is where it’s at these days. When I say where it’s at, I mean that there is significant community attention to actually make it a nice place to be.

Really though when I build GUI applications these days I tend to build them in Go as an http server and write the UI in HTML/JS. That has the advantage of producing a single cross compiled binary with no dependencies per platform, strong typing throughout, very low footprint. Most importantly it’s actually possible to write a decent test suite against a browser application compared to other solutions.

Wow. Mind blown.

Do you know of a good tutorial where one could follow a hullo world example (and perhaps beyond) without too much install library hell?

If you don't want to actually install it you can just write Go here: https://go.dev/play/

Download here: https://go.dev/dl/ ... follow install instructions

Hello world: https://gobyexample.com/hello-world

Tutorials here: https://gobyexample.com

Use VSCode as an IDE and it will automatically install language support, debugger etc.

This is NOT a scripting language for reference so expect to do some more legwork to get to the destination. It is also obtuse about doing things correctly. But the destination is less of a shit show than shipping dependency hell with your apps.
 
The following users thanked this post: Ed.Kloonk


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf