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

Mike Barnett mike_barnett at hotmail.com
Fri Aug 24 11:27:53 EDT 2018


Liking the comments Paul!

Backing up to the beginning, I know I'm far far far away from attempting to become a part of stdlib.  However, that does not mean I can't set that as the target and begin to understand the path to get there.  My initial post was an attempt to understand this path.  I've been getting lots of good information on how to get there, what happens where you do get there, etc.  

I like it!!  Thank you for taking the time to both try it and write your thoughts.

Answering a couple of specific questions / remarks:
1. More documentation - reference docs specifically.  I don't see documentation of the call signature for sg.Text, for example.

A little confused by this one.  There are quite a bit of documentation.  Did you see the readme on the GitHub and here:
https://pysimplegui.readthedocs.io/en/latest/
It has the call information about the Text widget and all the others.  Is this what you mean by a Signature?

Text(Text,
    scale=(None, None),
    size=(None, None),
    auto_size_text=None,
    font=None,
    text_color=None,
    justification=None)
.

Text - The text that's displayed
size - Element's size
auto_size_text - Bool. Change width to match size of text
font - Font name and size to use
text_color - text color
justification - Justification for the text. String - 'left', 'right', 'center'


I don't have all of the newest features in there, like the Update method because the doc is for version 2.9 on PyPI.  I don't yet have the latest GitHub release in there just yet.  You'll find that information instead on the Wiki:
https://github.com/MikeTheWatchGuy/PySimpleGUI/wiki/PySimpleGUI-Wiki


2. Advanced features - how would I extend it if I have a need that it doesn't cover? For example, a canvas object or an image?
I have Images.  
Don't have Canvas.  Any particular operations desired for the Canvas Element should I have one?

3. It doesn't seem to use native widgets (the buttons have a non-standard look on my Windows PC).
The defaults can be easily changed.  The default buttons are the one widget that I modify from the system default.  The reason was that the system default is a gray button.  It pretty much matches the background.

If you want your buttons to all look like the system default, slip this line of code at the top:

sg.SetOptions(button_color=sg.COLOR_SYSTEM_DEFAULT)


Thank you again Paul... I learn something new from every reply 😊

@mike

-----Original Message-----
From: Paul Moore <p.f.moore at gmail.com> 
Sent: Friday, August 24, 2018 11:13 AM
To: mike_barnett at hotmail.com
Cc: Wes Turner <wes.turner at gmail.com>; Jonathan Fine <jfine2358 at gmail.com>; Python-Ideas <python-ideas at python.org>
Subject: Re: [Python-ideas] A GUI for beginners and experts alike

On Fri, 24 Aug 2018 at 15:53, Mike Barnett <mike_barnett at hotmail.com> wrote:
> Can a few of you with the vast amount of GUI experience you have, spend 5 minutes and run one of the examples?

I don't have a "vast" amount of GUI experience. But nevertheless I gave it a go. It took less than 5 minutes (which is good).

> This will get you started:
>
> pip install PySimpleGUI

Worked.

> Then copy and paste a Recipe from the Cookbook.
>
> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpysi
> mplegui.readthedocs.io%2Fen%2Flatest%2Fcookbook%2F&data=02%7C01%7C
> %7C854fc59de69e4b1c93bc08d609d41047%7C84df9e7fe9f640afb435aaaaaaaaaaaa
> %7C1%7C0%7C636707203735494935&sdata=2Pc7s%2BsqtF0vOfi55TG0cJRrNb3O
> 7ENRfuFxTjqN1K0%3D&reserved=0

I went for the simple GUI form. It worked pretty much as expected. The code looks quite nice.

> For someone with a dev environment running, it’s a 2 minute exercise.  
> It will make for more focused comments. I’m asking that it actually be 
> tried

Agreed, it was simple to use, and pick up a canned example.

> because I don’t think anything like it has been proposed as a GUI framework.

I don't know if that's true, there's a lot of GUI frameworks and I certainly can't say I've tried all of them. This looks nice for simple usages, and would certainly be useful as a project on PyPI (like it is at the moment). I doubt it's mature enough for the stdlib, and I'm certain it's not stable enough (yet) for the stdlib - you'll want to make changes, add features, etc, and once it's in the stdlib that's going to be a lot harder. What's the rush?

As far as things I think I'd like to see (and these are just off the top of my head, I've done nothing more than I said above):

1. More documentation - reference docs specifically. I don't see documentation of the call signature for sg.Text, for example.
2. Advanced features - how would I extend it if I have a need that it doesn't cover? For example, a canvas object or an image?
3. It doesn't seem to use native widgets (the buttons have a non-standard look on my Windows PC).

Don't feel like you need to do anything about these comments - I rarely if ever use a GUI library, and I've no idea if I'd use this one in future, but if you want "focused comments" beyond "it looks neat and seems like a fine project to go onto PyPI, but I don't think it's necessarily something that should go in the stdlib", then those were what I thought of off the cuff.

Hope this is useful,
Paul


More information about the Python-ideas mailing list