[Python-ideas] A GUI for beginners and experts alike

Wes Turner wes.turner at gmail.com
Fri Aug 24 04:12:42 EDT 2018


On Thursday, August 23, 2018, Jonathan Fine <jfine2358 at gmail.com> wrote:

> Hi Mike
>
> Thank you for your prompt response. You wrote
>
> > Maybe we're on different planes?
> >
> > I'm talking about 5 lines of Python code to get a custom layout GUI on
> the screen:
> >
> > import PySimpleGUI as sg
> >
> > form = sg.FlexForm('Simple data entry form')  # begin with a blank form
> >
> > layout = [
> >           [sg.Text('Please enter your Name, Address, Phone')],
> >           [sg.Text('Name', size=(15, 1)), sg.InputText('1', key='name')],
> >           [sg.Text('Address', size=(15, 1)), sg.InputText('2',
> key='address')],
> >           [sg.Text('Phone', size=(15, 1)), sg.InputText('3',
> key='phone')],
> >           [sg.Submit(), sg.Cancel()]
> >          ]
> >
> > button, values = form.LayoutAndRead(layout)
>
> The execution of this code, depends on PySimpleGUI, which in turn depends
> on tkinter, which is in turn a thin layer on top of Tcl/Tk. And Tcl/Tk
> provides the GUI layer.
> (See https://docs.python.org/3/library/tk.html.)
>
> I'm suggest that sometimes it may be better to use HTML5 to provide the
> GUI layer. I pointed to Elm, to show how powerful HTML5 has become.
>

BeeWare uses Toga (a widget toolkit) and Briefcase (a build tool) to build
native GUIs and SPA web apps

> Write your apps in Python and release them on iOS, Android, Windows,
MacOS, Linux, Web, and tvOS using rich, native user interfaces. One
codebase. Multiple apps.

Briefcase can build Django apps.

https://pybee.org
https://pybee.org/project/using/
https://briefcase.readthedocs.io/en/latest/tutorial/tutorial-0.html
https://toga.readthedocs.io/en/latest/tutorial/tutorial-0.html

It's definitely not a single file module, though.

Bottle is a single file web framework ('microframework'); but it doesn't
have a widget toolkit.

Web development is not as easy to learn as a simple GUI api for beginners
(and then learning what to avoid in terms of websec is a lot to learn).

There was a thread about deprecating Tk awhile back. There also I think I
mentioned that asyncio event loop support would be great for real world
apps.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180824/4e3e9d1e/attachment-0001.html>


More information about the Python-ideas mailing list