PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

PySimpleGUI - New package for building custom GUIs in a few lines of code

Sat Jul 28, 2018 6:51 pm

Not sure what the rules are about cross-posting, so apologies if I'm breaking a rule.... I figure the moderators will sort me out.

Not sure if everyone reading Graphics Programming reads the Python forum or not. Post this in the Python forum....
PySimpleGUI was recently released to PyPI. You can get the latest version by doing a

Code: Select all

pip install --upgrade PySimpleGUI
You can easily create your own custom GUIs in a very Python-like manner. The GUI is a list of rows. Each row is a list of Widgets or Elements. A list of rows is the entire form. When the call to show the form returns, all of the input fields on the form are returned as a Tuple.

It's based on tkinter so there are no other package dependencies. It's a single source file. It could be downloaded and played in the app folder.

This is a screen-capture from a Pi
Image

This source code produced the window below

Code: Select all

import PySimpleGUI as sg

def Example():
    with sg.FlexForm('Facebook problem') as form:
        form_rows = [[sg.Text('Enter your name address and city')],
                     [sg.Text('Name', size=(15, 1), justification='right'), sg.InputText('Name')],
                     [sg.Text('Address', size=(15, 1), justification='right'), sg.InputText('Address')],
                     [sg.Text('City', size=(15, 1), justification='right'), sg.InputText('City')],
                     [sg.Ok(), sg.Cancel()]]

        button, (name, address, city) = form.LayoutAndRead(form_rows)

    if button == 'Ok':
        sg.MsgBox('You entered', name, address, city)
    else:
        sg.MsgBoxError('Cancelled', 'User Cancelled')

Example()
Image



Runs on Python 3. Windows, Mac, Linux, Pi.

ash73
Posts: 9
Joined: Mon Jan 30, 2017 12:52 pm

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Sun Jul 29, 2018 12:39 pm

Looks good, I'll have a play with this later. Couple of questions after a brief scan through the guide:

1. Does BorderDepth=0 remove all the 3D bevels? Flat interfaces are in vogue these days.

2. Could you add a function to set the form background to a bitmap, with all the elements having transparent backgrounds?

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Jul 30, 2018 2:25 pm

Yes, border_depth of 0 SHOULD remove all bevels. I've noticed that a few have a very slight bevel even with this setting. It does make the forms look "flat", the more modern interface.

You can see in my examples that some screenshots have bevels and some don't. The newer examples have border_depth at 0 or 1.

"transparent" isn't something possible in tkinter from what I've read. The elements' backgrounds need to be set to the same as the overall form's background if you want the elements to match.

Keep the questions coming!

hippy
Posts: 3787
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Jul 30, 2018 3:28 pm

PySimpleGUI wrote:
Sat Jul 28, 2018 6:51 pm
pip install --upgrade PySimpleGUI
As that's Python 3 code, should it not be "pip3" ? It would be nice if it also worked for Python 2.7 as well.

It seems to do what it claims to do but I do note a brief flash of a window frame at the top left of the Pi desktop until it moves itself to the centre of screen and fully renders, same when the "OK" or "Cancel" message boxes are rendered, which is a bit annoying.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Jul 30, 2018 8:13 pm

hippy wrote:
Mon Jul 30, 2018 3:28 pm
PySimpleGUI wrote:
Sat Jul 28, 2018 6:51 pm
pip install --upgrade PySimpleGUI
As that's Python 3 code, should it not be "pip3" ? It would be nice if it also worked for Python 2.7 as well.

It seems to do what it claims to do but I do note a brief flash of a window frame at the top left of the Pi desktop until it moves itself to the centre of screen and fully renders, same when the "OK" or "Cancel" message boxes are rendered, which is a bit annoying.
Thanks for the pip correction.. On my Pi pip worked so I figured it did elsewhere.

The flash is from 2 things. In order to have multiple windows open at the same time, I have to create a hidden window and assign them to it. The flash may be from that hidden window showing and then disappearing.

Or, it could be because I move the user's window to the center of the screen. You can change the location of where the window should open in the FlexForm call. Set the parameter

Code: Select all

location=(x,y)
in your call to FlexForm and it will open your window at that x,y coordinate.

Let me look into this window flash. I'll post an issue for it.

I have been toiling with 2.7 support and officially gave up on it today. 2.7 completely wrecks some of the core features of PySimpleGUI's simplicity and ease of use. It becomes not fun and not easy to use.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Jul 30, 2018 8:30 pm

About the flashing window. There is a work-around

If you set your window's location yourself on the call to FlexForm, then this flash does not happen. This is because in order to exactly center the window on the screen I first need to get the window's sizes. I am unable to do this until the window is rendered and shown. This is why you see it briefly, right before it is moved.

If you set it yourself, then there is no call to get the window's size and so there will be no flash.

I made a new system setting that's accessible via the SetOptions call. The parameter is window_location. All windows will open to the (x,y) location given.

The code has been checked into GitHub but not uploaded to PyPI yet.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Tue Jul 31, 2018 3:44 pm

Version 2.7 released. New feature is Realtime Buttons.

Code: Select all

sudo pip3 install --upgrade PySimpleGUI
There is also a new demo application on the GitHub, Demo_Pi_Robitics.py. You will find design pattern using these buttons there.

The way they work is that instead of receiving a single button return value when the user "clicks", you will receive continuous button return codes while the button is depressed. You will need these kinds of buttons for realtime control of Pi based hardware.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Sat Aug 04, 2018 11:55 am

New design pattern just uploaded.... button callback simulation.

PySimpleGUI doesn't have a "button callback" mechanism, but it can be easily simulated.

This code has been uploaded to the GitHub.

Code: Select all

import PySimpleGUI as sg

# This design pattern simulates button callbacks
# Note that callbacks are NOT a part of the package's interface to the
# caller intentionally.  The underlying implementation actually does use
# tkinter callbacks.  They are simply hidden from the user.

# The callback functions
def button1():
    print('Button 1 callback')

def button2():
    print('Button 2 callback')

# Create a standard form
form = sg.FlexForm('Button callback example')
# Layout the design of the GUI
layout = [[sg.Text('Please click a button', auto_size_text=True)],
          [sg.ReadFormButton('1'), sg.ReadFormButton('2'), sg.Quit()]]
# Show the form to the user
form.Layout(layout)

# Event loop. Read buttons, make callbacks
while True:
    # Read the form
    button, value = form.Read()
    # Take appropriate action based on button
    if button == '1':
        button1()
    elif button == '2':
        button2()
    elif button =='Quit' or button is None:
        break

# All done!
sg.MsgBoxOK('Done')

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

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 9:42 am

Not really sure this makes creating a GUI any simpler... just seems to be yet another tkinter wrapper.

Why not just use guizero? At least it has documentation and official raspberry pi tutorials.
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 11:09 am

Since you're not sure, why not find out if creating a GUI is easier? Try creating one. Use it to be sure.

The latest documentation on PySimpleGUI can be found here:
https://pysimplegui.readthedocs.io

The readme also has this information.

An extensive survey of GUI frameworks, including guizero, was done prior to starting PySimpleGUI. I found guizero cumbersome and difficult to achieve the layouts I was shooting for. It does have a few features the PySimpleGUI doesn't, like menu-bars, but it's lacking in the overall simplicity, number of available widgets, look and feel settings, etc.

I'll look at creating a tutorial similar to the guizero tutorial.

If you're skilled at guizero and want to compare them side by side, how about creating a guizero application and a PySimpleGUI application that does this:
Make a form that takes name, address, phone information from the user and stores the information in user variables - name, address, phone. Include "OK", "Cancel" buttons. The PySimpleGUI answer is posted already, but try writing it yourself to get a feel.

Try it in both guizero and PySimpleGUI. I can promise you a less than 10 minute exercise in PySimpleGUI to get to a form like this:
Image

This takes 8 lines of code in PySimpleGUI, including the import. Could be brought down to a single line of code if desired.

Finally... about example code. In the GitHub there is an extensive list of Demo programs, 13 in total. Some are standalone applications, others are Recipe guides. You should be able to copy and paste a design pattern easily given the amount of demo code.

hippy
Posts: 3787
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 11:10 am

scotty101 wrote:
Mon Aug 06, 2018 9:42 am
Why not just use guizero?
I suppose the answer is that this tkinter wrapper makes it easier to use for some classes of applications than other wrappers.

One could say why not just use tkinter ?

The answer is that people will gravitate towards a wrapper which abstracts a framework in a way which makes it easier for them to use in the way they want to use it. It is up to the programmer to decide which wrapper best suits their particular needs, or create their own.

Ultimately there is no best wrapper, only most appropriate - for an application or the programmer - so the more the we have the better.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 11:56 am

hippy wrote:
Mon Aug 06, 2018 11:10 am
The answer is that people will gravitate towards a wrapper which abstracts a framework in a way which makes it easier for them to use in the way they want to use it.
...
the more the we have the better.
Thank you for a spot-on answer, in my opinion.

I did a quick test to understand the differences between the 2 packages. I took the guizero example program that produced this output:
Image

The code looks like this:

Code: Select all

from guizero import App, Box, ButtonGroup, CheckBox, Combo, PushButton, Slider, Text, TextBox

a = App(title="colors")
text = Text(a, text="colors")
check = CheckBox(a, "check me")
combo = Combo(a, ["red", "blue"])
button = PushButton(a)
slider = Slider(a)
b = Box(a)
textbox = TextBox(b, text="or colours")
bgroup = ButtonGroup(b, ["cheese", "ham", "salad"], 1)

#a.bg = (255,255,0)
text.text_color = "red"
text.text_size = 30
text.font = "verdana"
#text.bg = "green"
check.bg = "#d41789"
combo.bg = "blue"
combo.text_color = None
combo.text_size = 24
#button.bg = "black"
button.text_color = (255,0,255)
button.font = "arial"
button.text_size = 18
slider.bg = (123,234,12)
#textbox.bg = "cyan"
textbox.font = "courier"
textbox.text_color = "#FF0000"
b.bg = "cyan"
b.font = "wingdings"
#bgroup.bg = "yellow"
bgroup.text_color = "#e62112"
bgroup.text_color = None
bgroup.font = "book antiqua"

#a.bg = (255,0,25)
#a.font = "wingdings"
a.text_color = (255,253,12)
b.text_color = "purple"
b.text_size = 18

a.display(
)

I wasn't able to perfectly match this layout and colors, but got functionally close, using the same widgets, in a more compact and easy to understand way.

Image

And the PySimpleGUI code required to produce this:

Code: Select all

import PySimpleGUI as sg
form = sg.FlexForm('colors', auto_size_text=True, font=('Helvetica', 14))
layout  = [[sg.Text('colors', text_color='yellow')],
           [sg.Checkbox('check me', background_color='#d41789')],
           [sg.InputCombo(values=('red', 'blue'),background_color='blue' )],
           [sg.SimpleButton('Button', size=(8,1))],
           [sg.Slider(range=(1,80), orientation='h', size=(15,20), background_color='#7BEA0C')],
           [sg.Radio('cheese', group_id=1, background_color='cyan')],
           [sg.Radio('ham', group_id=1, background_color='cyan')],
           [sg.Radio('salad', group_id=1, background_color='cyan')],
           ]

(button, (checkbox, combo, slider, cheese, ham, salad)) = form.LayoutAndRead(layout))

Note that the last line of code stores the results of the form directly into the caller's variables. After the GUI returns, the caller can go do the program's real purpose using the values collected.

User avatar
bensimmo
Posts: 3224
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 12:16 pm

To me this would be simpleGUI if it was a drag and drop interface.
It's still just lots of text typing.

Seems good for what it does though.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 12:20 pm

Sure! Drag and drop form builder would in fact be cool.

I attempted to make a text based form creation tool that would allow the user to specify a form using a text editor instead of writing Python code. I found that I was duplication the Python parser in the end. The code matched pretty closely the same types of things that would be typed in.

The reason this example I just posted is so wordy is that use of colors. Normally one doesn't set those colors on each element's call. Even so, the amount of typing required for the guizero solution was a bit more, and to me was difficult to follow. I couldn't envision what the GUI was going to look like reading that code. But with the PySimpleGUI code, you can pretty easily see what the GUI will look like just by examining the "layout" variable.

User avatar
PeterO
Posts: 4246
Joined: Sun Jul 22, 2012 4:14 pm

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 12:51 pm

Who remembers gtkIOStream ? Another wrapper that was supposed to make things easier, but that no one other than the author ever used.
PeterO
Discoverer of the PI2 XENON DEATH FLASH!
Interests: C,Python,PIC,Electronics,Ham Radio (G0DZB),Aeromodelling,1960s British Computers.
"The primary requirement (as we've always seen in your examples) is that the code is readable. " Dougie Lawson

User avatar
bensimmo
Posts: 3224
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 1:01 pm

gpiozero is used and for the people it was intended, being an RPi project, it's to give a simplified , yet standard, way for children to slap a desktop program together.
It also needs to be consistent with other RPi created python 'products' (sensehat, gpiozero, picamera)
Note the example you used is spelt out line by line for learning and as an example to show what each value does and how it can be manipulated.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 1:09 pm

bensimmo wrote:
Mon Aug 06, 2018 1:01 pm
.... it's to give a simplified , yet standard, way for children to slap a desktop program together.
....
Note the example you used is spelt out line by line for learning and as an example to show what each value does and how it can be manipulated.
I assert that children will find PySimpleGUI easier to pick up than guizero, at least for this spelled-out example.

The code is disjointed. The widgets are defined at the top, the options at the bottom. To find out what options are set for a checkbox, you have to jump around. With PySimpleGUI, both the placement of the widget in the window and setting of options is done when the widget is specified.

I'm not posting to knock other packages. They all have their purposes and place.

I do believe this architecture is new, novel, and a better fit for beginners than other packages. It's also trivial for advanced programmers to use to mock up an interface quickly. While an advanced programmer may be able to create a tkinter interface quickly, there will be a lot more coding and typing involved to create the exact same window.

hippy
Posts: 3787
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 2:37 pm

bensimmo wrote:
Mon Aug 06, 2018 12:16 pm
It's still just lots of text typing.
True, and I think that is mostly what people want to get away from when they choose a framework or wrapper. It's always a question of what's the least effort, the minimum I have to do ?

In that respect I would abstract things even further. I would have a wrapper which could give PySimpleGUI's latest example above using (E&OE) -

Code: Select all

layout  = [ "Text Colors fg=yellow",
            "Checkbox check me bg=#d41789",
            "Combo red blue bg=blue",
            "Button button 8x1",
            "HorizontalSlider 1..80 15x20 bg=#7BEA0C",
            "Radio cheese ham salad bg=cyan"
           ]
I feel there's a PySimpleGuiForked coming soon :D

Only joking. But that is another advantage of wrappers like PySimpleGUI. They can inspire others to create what they themselves want or would like, expand what an existing wrapper is, make it better ( for some definitions of better ), and people can see how what they want could be done by themselves.

For that reason I was particularly pleased that PySimpleGUI is a single file. Even if it's not a wrapper one wants to use it's a good grounding in how one might create a wrapper one does want to use, or to even see how it is done using tkinter.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Mon Aug 06, 2018 3:21 pm

Wow, thank you!

Try not to look at the implementation very closely. I would not classify my code as a good template for anything, at least not that code ;)
It was one of the first Python programs I wrote. I had not yet heard of PEP8, so my naming conventions are weird sometimes.

What I tried to do was provide a well-structured interface, but the implementation isn't the greatest. The cool thing is that it could be rewritten, keeping the same list-style interface.

I follow the "Make it run, Make it right, Make it fast" mantra.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Sat Aug 11, 2018 12:08 pm

hippy wrote:
Mon Aug 06, 2018 2:37 pm
True, and I think that is mostly what people want to get away from when they choose a framework or wrapper. It's always a question of what's the least effort, the minimum I have to do ?

In that respect I would abstract things even further. I would have a wrapper which could give PySimpleGUI's latest example above using (E&OE) -

Code: Select all

layout  = [ "Text Colors fg=yellow",
            "Checkbox check me bg=#d41789",
            "Combo red blue bg=blue",
            "Button button 8x1",
            "HorizontalSlider 1..80 15x20 bg=#7BEA0C",
            "Radio cheese ham salad bg=cyan"
           ]
I wrote a text parser that worked in a way similar to your text layout. What I found was that is was MORE difficult to recall the syntax of my text language than it was to do it in Python. An entirely new syntax must be learned or copied and pasted. What's wrong with "size=(15, 20)" instead of "15x20"? It's not that many more characters.

The elements are getting richer in terms of the optional parameters. That means more text options too. For example, how would you indicate which radio button should be set? And what happens when you want two words for the radio button? Things quickly spiral... at least that was my experience trying to write forms using my own text form builder.

Perhaps a drag and drop would be an easier experience for the user, but I'm not going to be writing one of those any time soon :-)

hippy
Posts: 3787
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Sat Aug 11, 2018 8:53 pm

PySimpleGUI wrote:
Sat Aug 11, 2018 12:08 pm
What's wrong with "size=(15, 20)" instead of "15x20"?
Nothing as such. It's merely my personal preference to have the later; 60% less typing, fits my criteria of easier. I basically thought what you had was already too complex for what I would desire as the entry level for a simple GUI framework. I just threw my idea out there as a view from someone else who thinks there is a need for simple GUI generation, and that's how it would be for me.

You are perfectly entitled to disagree, decide I'm wrong. It's your project, you are allowed to take in the direction you want, and you should.

On the other hand, if you want people to use what you develop, you should take into account what others may want, what would make them use it and want to use it.

As things get more functional they will inevitably get more complicated, be more difficult to express in a simple fashion no matter how that's done. We will all have our own view of what is simple and what isn't.

As you add that functionality it might be worth reflecting on how true you are staying to the initial goal. Is it moving away from a simple GUI which is easy to use to a more full featured framework which starts to become more complicated to use ?

I don't mind what you do or if it does bloat, that's entirely for you to decide, and full marks if you can arrive at something simple for the novices yet fully featured for the experts.

As to the technical issues you mentions; "that's what escape characters are for". One could put words inside square brackets to illustrate a label, can put multiple words in curly braces when they have embedded spaces, or use embedded quotes. Default selection can be indicated by an asterisk or some other character-

"Radio [Crisp Flavour] { Cheese & Onion } *{ Roast Beef } Plain".

True; the parsing can get complicated, but my view is it doesn't matter how complicated it is behind the scenes, you're trying to make it simple for the user to specify.

Please don't take anything I've said as criticism. It's great to see you doing it whether it's how I would do it or not. How I would do it would suit me. Doesn't mean it's right or what others would agree with.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Sat Aug 11, 2018 11:06 pm

hippy wrote:
Sat Aug 11, 2018 8:53 pm
....
True; the parsing can get complicated, but my view is it doesn't matter how complicated it is behind the scenes, you're trying to make it simple for the user to specify.

Please don't take anything I've said as criticism. It's great to see you doing it whether it's how I would do it or not. How I would do it would suit me. Doesn't mean it's right or what others would agree with.
Couldn't agree MORE with your statement about behind the scenes versus what the user experiences.

I also am very happy you mentioned all the suggestions you did. Hey, even if I don't initially agree with a suggestion, many times I come around to it within a couple of days and end up implementing it. Dictionaries was suggested for example and I was really resistant until I figured out a way to have both a list and a dictionary result that keeps the current interface looking identical. There have a been a lot of changes since the initial post, thanks to suggestions from people like yourself.

So, keep it comin! It only makes for a better package in the end.

Thanks for your time!

hippy
Posts: 3787
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Sun Aug 12, 2018 12:53 am

PySimpleGUI wrote:
Sat Aug 11, 2018 11:06 pm
I also am very happy you mentioned all the suggestions you did. Hey, even if I don't initially agree with a suggestion, many times I come around to it within a couple of days and end up implementing it.
And maybe not and that's fair enough. Sod's Law will have it that I swing to favouring your own way just as you begin to favour mine :D

Of course the best option is often to have both rather than be one or the other. If I were implementing my idea I would add what I want as an additional routine which just generated the list structure you already used and then pass that on to what you already have. Just another wrapper around a wrapper around a framework.

I wouldn't be upset if you told me ( or anyone else ), "if you want it, implement it, test it, document it, make a pull request". No need to do it all yourself.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Fri Aug 17, 2018 3:00 pm

Released version 2.9 to PyPI yesterday, so if you've installed, you may want to upgrade.

Has multi-column support now meaning pretty much any layout you can dream up is possible.

More color options include a new ChangeLookAndFeel function that will quickly change the colors to pre-defined settings.

PySimpleGUI
Posts: 17
Joined: Sat Jul 28, 2018 12:05 am

Re: PySimpleGUI - New package for building custom GUIs in a few lines of code

Tue Aug 21, 2018 11:54 pm

Another set of new features that may be of interest to Raspberry Pi users!

You can get keyboard key-strokes as they are being pressed. When used with async forms, it's possible to get a stream of key-presses in realtime if someone holds down a key. They stop when the key is released. These could be used to control hardware for example.

Other features in this release include - focus control, ability to update images, ability to update InputText fields, text justification setting at the form level.

You can get these features by downloading the PySimpleGUI.py file from the GitHub main branch. Then simply include this file with your project's files.

Return to “Graphics programming”

Who is online

Users browsing this forum: No registered users and 2 guests