Giter VIP home page Giter VIP logo

pysimplegui / pysimplegui Goto Github PK

View Code? Open in Web Editor NEW
13.1K 230.0 1.8K 36.73 MB

Python GUIs for Humans! PySimpleGUI is the top-rated Python application development environment. Launched in 2018 and actively developed, maintained, and supported in 2024. Transforms tkinter, Qt, WxPython, and Remi into a simple, intuitive, and fun experience for both hobbyists and expert users.

Home Page: https://www.PySimpleGUI.com

License: Other

Python 100.00%
pysimplegui gui-framework python tkinter tkinter-python tkinter-gui wxpython pyside2 qt qt-gui

pysimplegui's Introduction


For more information visit PySimpleGUI.com

User Interfaces for HumansTM

Welcome to PySimpleGUI 5 !!

Do you use PySimpleGUI 4? Here is what you need to know.

PySimpleGUI creates desktop applications easily, enhancing the tkinter, Qt, WxPython, and Remi frameworks with a much simpler programming interface:

  1. PySimpleGUI user interfaces are defined using core Python data types (lists and dictionaries) that are easily understood by beginners.
  2. PySimpleGUI event handling changes from a complex callback-based model to a simple message passing one.
  3. PySimpleGUI uses simple Python code and has no requirement for object oriented architecture.

PySimpleGUI is more than a GUI library: PySimpleGUI simplifies much of your Python development process. Sure, it makes developing user interfaces much easier, but PySimpleGUI also tames advanced Python functionality (such as threading) and makes it easy for all users to take their Python applications to the next level. PySimpleGUI is a robust toolkit.

Introducing PySimpleGUI 5

For the last 5 years, PySimpleGUI offered free software with the hope of sustaining the company by donations. We appreciate the support we received, but the amount has been too small to support the PySimpleGUI project. For this reason, PySimpleGUI is switching to a commercial model, where commercial users are expected to pay a nominal license fee.

PySimpleGUI is now part of PySimpleSoft, Inc., whose mission is to make the best Python application development environment much, much better. Since launching in 2018, PySimpleGUI has helped hobbyists and professionals alike create Python GUIs in a fraction of the time. PySimpleGUI 5 takes PySimpleGUI to the next level, providing hundreds of improvements, including new features, enhanced security, and priority support.

PySimpleGUI 5 is licensed software. As the License Agreement explains, after a trial period, all PySimpleGUI 5 users must register at PySimpleGUI.com to obtain a Developer Key. For most users (Hobbyist Users), the license is at NO COST. If you are a Commercial User, you must buy a license.

Register Now and help support the PySimpleGUI community.

Examples

PySimpleGUI users have created thousands of amazing desktop applications. Here are a few screen shots. For more examples, see the PySimpleGUI gallery.

Get Started at No Cost

Whether you are a Hobbyist User or Commercial User, you can start using PySimpleGUI at no cost. To get started with a 30-day trial period, first install Python and then

python -m pip install pysimplegui

and run some code, like

import PySimpleGUI as sg
layout = [ [sg.Text('Hello, world!')] ]
window = sg.Window('Hello Example', layout)
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
window.close()

(You might need to use python3 instead of python.)

You can try PySimpleGUI for 30 days, after which you will need to register. Hobbyist users register at no cost, and Commercial Users must buy a license. For more details, see PySimpleGUI.com/pricing.

Documentation

PySimpleGUI provides extensive documentation. Here are some starting points, depending on your needs and expertise:

  • FAQ - Frequently Asked Questions
  • Documentation - Extensive PySimpleGUI documentation*
  • Examples - Hundreds of sample PySimpleGUI applications.
  • SDK Reference - details for each PySimpleGUI element
  • Home Website - New PySimpleGUI home page
  • GitHub Repo - Informational only. Download from PyPi with pip.
  • Updated Documentation - Everything you need to know about the latest and best PySimpleGUI
    • Cookbook - Hundreds of basic PySimpleGUI examples. Find a starting point that is close to what you need.
    • Call Reference - Just the facts, Ma'am
  • Udemy Course - Become a PySimpleGUI expert in no time. Bundled with Commercial Developer License.

pysimplegui's People

Contributors

pysimplegui avatar timkay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pysimplegui's Issues

SyntaxError: invalid syntax

Traceback (most recent call last):
File "Demo_Recipes.py", line 3, in
import PySimpleGUI as sg
File "/home/pi/nieuw/PySimpleGUI.py", line 708
def AddRow(self, *args, auto_size_text = None):
^
SyntaxError: invalid syntax

The ^ is under the T of text!!

Text justification

Would be nice to be able to justify the next fields in a direction other than left.

Need text justification setting on the Text Element and system-wide. If you want at the form level, then you could change the system-wide setting.

The justification settings are 'left', 'right', and 'center' (yes, they are strings)

Will be in the next release of PySimpleGUI

Allow users to control what enter key does

At the moment, the enter key submits a form as if the first button on the form was clicked. Would be nice to allow the user to determine how the enter key acts. Allow setting a different button.

Forms designer

Hey, a forms designer would be nice (if you can find the spare time, haha) :)

Variable names in SDK calls are not all lower case

The options for Elements are specified when you create an element of some kind. It's when the Element is created that the options are specified. They are currently CamelCased but should be all_lower_case.

Just about finished with renaming everything. All of the sample code and the readme needed changing.

Version 2.0 is around the corner as this was a big change. This will break existing code unfortunately, but it's something that must be fixed.

Buttons are not quite autosizing correctly

With the autosize option turned on for buttons, still seeing some long button names wrapping within the button. Could be that the font size matters in the calculations?

Images on buttons

The next new feature.

Images as buttons will help the overall look of these GUI interfaces in a big way.

Should be a straightforward interface for the caller. A few more optional parameters to the Button Element call should do the trick.

Expect this in version 2.4

Listbox color doesn't change a second time

If you change the color scheme TWICE, the Listbox doesn't change it's color to the second color. Instead it stays the first color.

Not likely to be a huge problem as most people won't be changing color schemes back to back.

Why so many f*cking commits!?

If it seems like this package changes on a daily basis, you're not far off.

The reason is that there are some features that were not quite complete and there are some changes that can really benefit users.

For example, in the upcoming 2.6 release, the automatic sizing of buttons is no longer controlled by the automatic text sizing setting. Buttons have their own settings. This potentially removes a lot of extra source code that dealt with these text sizing issues. Now you simply set your buttons to always resize and work with the text resizing on a one-off by one-off case.

As long as there are new features, like colored forms, going into the code, as well as additional settings that users can immediately benefit from, then there will be releases up to PyPI on a regular basis.

Python 2.7 support

Currently limited to Python 3.?

Unsure of which 3 versions it works with. 3.4 and 3.6 are good. 3.7 has a button problem.

Positive it won't work on 2.7. Question is if it can be backported. There are a number of language features that will be messy to implement in 2.7. Keyword arguments are one in particular.

ReadFormButton causing message box to not display text

I'm trying to create a persistent input form that let's a user input some data and hit submit, which then causes another popup telling the user if the data was successfully submitted. I've gotten it to work in a non-persistent way so that the input form is re-created each time, but I've been having problems trying to leave the input form open using a ReadFormButton.

I define the input form:

import PySimpleGUI as sgui
form = sgui.FlexForm('Legacy Data Entry Application v10.42.exe', auto_size_text =True)
layout = [
    [sgui.Text('Please enter data in fields below', font = ('Helvetica', 20), justification = 'center')],
    [sgui.Text('Record ID', size = (16,1)), sgui.InputText(key = 'id'), sgui.Text('Record Type', size = (16,1)),
                 sgui.InputCombo(('Sale','Subscription', 'Late Fee'), size= (24,1), key = 'record_type')],
    [sgui.Text('Receipt Date', size = (16,1)), sgui.InputText('MM/DD/YYYY', key = 'receipt_date'), 
                 sgui.Text('Amount', size = (16,1)), sgui.InputText(key='amount')],
    [sgui.Text('Today\'s Date', size = (16,1)), sgui.InputText('MM/DD/YYYY', key='today_date')],
    [sgui.Text('Customer Name', size = (16,1)), sgui.InputText( key='name')],
    [sgui.Text('Address 1', size = (16,1)), sgui.InputText( key= 'add1')],
    [sgui.Text('Address 2', size = (16,1)), sgui.InputText( key= 'add2')],
    [sgui.Text('City', size = (16,1)), sgui.InputText(key='city')],
    [sgui.Text('State', size = (16,1)), sgui.InputText(key = 'state')],
    [sgui.Text('ZIP', size = (16,1)), sgui.InputText(key = 'zip')],
    #[sgui.Submit(), sgui.Cancel()]
    [sgui.ReadFormButton('Submit', bind_return_key = True), sgui.Cancel()]
    ]

Then I Read() from the form and if "Submit" was clicked I try to open a new form:

sgui.MsgBox('Record successfully submitted', auto_close = True, auto_close_duration = 2)

But what I get is a window with no text line, just the OK button. But if I replace the ReadFormButton above on the input form with the commented out line, so that it uses a regular submit button, then form2 displays properly.

Looking through your documentation I haven't found an example that is perfectly comparable, so I might just be using ReadFormButtons wrong, but I thought that it could be a bug too.

Tabs look ugly on Mac

Received word that at least on one project the tabs look ugly on a Mac.

Waiting on screenshot to see what can be done.
Should be tested on Raspberry Pi to see how they look there.

Text color control on all Elements

Currently the text displayed on the Elements (widgets) is black unless the Element is a Button or Text Element.

This requires a new optional parameter on all Elements. The code change should be to the base class Element as well as each individual element and short-hand calls.

pypy support

The current version of PySimpleGUI is 2.7 and works with pypy3 !

There seems to be an issue with Non-blocking forms and the debug window. Something closes the debug window when it shouldn't.

Look into better pypy support.

Colored backgrounds

Coming in version 2.5, colors! LOADS of settings that deal with colors. Several system-wide as well as element specific color settings to choose from.

snap0154

These colors even work on a Raspberry Pi

snap0153

Forms not returning when manually closed with Debug window open

There's an edge case problem happening when you've got a debug window open and then you close one of your normal windows using the "X". The result is that the form that was closed appears to not return from tkinter. Unsure where this one is coming from.

Please don't close your forms using the X if you are using the debug window.

Canvas Element

Request received for a Canvas element....

Being added to upcoming 2.11

Progress bar size affected by Listbox colors

Really weird and obscure bug.

If there is a listbox with a non-standard color in the form, then there is a Style created for it. Same holds true for Progress Meters. They also create styles. For some reason these Styles are interacting with each other.

The workaround is to not have Progress Meters and listboxes with custom colors on the same form.

Need to study more about how Styles work since they are used by other Elements too.

Blank Labels when have a window already open

If a persistent form is being shown, and another form is shown on top, then the second form has BLANK Label fields.

This code duplicates the problem.

import PySimpleGUI as sg
import os

def Launcher():

    form = sg.FlexForm('Script launcher')

    layout =  [
                [sg.Text('Script output....', size=(40, 1))],
                # [sg.Output(size=(88, 20))],
                [sg.ReadFormButton('script1'), sg.ReadFormButton('script2'), sg.SimpleButton('EXIT')]
              ]

    form.Layout(layout)

    # ---===--- Loop taking in user input and using it to query HowDoI --- #
    while True:
        (button, value) = form.Read()
        if button == 'EXIT' or button is None:
            break           # exit button clicked
        if button == 'script1':
            sg.MsgBox('python SimScript.py')
        elif button == 'script2':
            ExecuteCommandOS('python SimScript.py')
        elif button == 'Enter':
            ExecuteCommandOS(value[0])      # send string without carriage return on end


def ExecuteCommandOS(command):
    output = os.popen(command).read()
    print(output)


if __name__ == '__main__':
    Launcher()

blank msg box

[Question] Post your screen shots here!

Type of Issue (Enhancement, Error, Bug, Question)

Question


Operating System

ALL

PySimpleGUI Port (tkinter, Qt, Wx, Web)

ALL


Versions

Version information can be obtained by calling sg.main_get_debug_data()
Or you can print each version shown in ()

Python version (sg.sys.version)

ALL

PySimpleGUI Version (sg.__version__)

ALL

GUI Version (tkinter (sg.tclversion_detailed), PySide2, WxPython, Remi)

ALL


Your Experience In Months or Years (optional)

Years Python programming experience

Years Programming experience overall

Have used another Python GUI Framework? (tkinter, Qt, etc) (yes/no is fine)

Anything else you think would be helpful?


Troubleshooting

These items may solve your problem. Please check those you've done by changing - [ ] to - [X]

  • Searched main docs for your problem www.PySimpleGUI.org
  • Looked for Demo Programs that are similar to your goal Demos.PySimpleGUI.org
  • If not tkinter - looked for Demo Programs for specific port
  • For non tkinter - Looked at readme for your specific port if not PySimpleGUI (Qt, WX, Remi)
  • Run your program outside of your debugger (from a command line)
  • Searched through Issues (open and closed) to see if already reported Issues.PySimpleGUI.org
  • Tried using the PySimpleGUI.py file on GitHub. Your problem may have already been fixed but not released

Detailed Description

Take a moment to drag and drop a screenshot into a comment in this issue.

It'll help other people see what's possible and perhaps come up with ideas or uses not previously thought of.

I've already seen a couple of really good ones. Help your fellow Python programmer out by posting your creation.

Code To Duplicate

None

Screenshot, Sketch, or Drawing


None

Watcha Makin?

If you care to share something about your project, it would be awesome to hear what you're building.
None

List Box Element

Need to add support for List Box

Planned for version 2.3

They look something like this:
listbox

Async form & progress meter interactions

If a Progress Meter (EasyProgressMeter call) is interrupted and there is an Async window open, then future Windows will appear to have no text in them nor in the title bar.

The workaround is to not call Progress Meters while an async window is open.

It's unfortunate that the new Print function is async and thus can cause this error.

The workaround is to NOT cancel your progress meters before they are finished.

Can't seem to generate a GUI

I'm trying to implement this into a simple project just to get to grips with it, however the GUI doesn't seem to show at all. Is there something I'm missing? Copying and pasting your other examples for simple text boxes seem to work fine but I'm aiming to incorporate quite a few elements to the GUI

def print_board():
with SG.FlexForm('Play', auto_size_text=True, default_element_size=(30,1)) as form:
layout = [[Text('BlackJack', size=(30,1), font=("Helvetica", 25), text_color='black')],
[Text('Dealer', font=("Helvetica", 15))],
[Text(dealer)],
[Text('Player', font=("Helvetica", 15))],
[Text(player1)],
[Text("Money:",player1.cash," Stake:",stake)]]
SG.FlexForm('Everything bagel', auto_size_text=True, default_element_size=(30,1))

Multiple columns

Someday....
Working on the syntax of the SDK calls.

Leaning towards a similar calling interface as the Tabbed Forms. For tabbed forms, multiple forms are combined into a single 'uber-form'.

The columns could be a small form that's added to a form. Forms within forms as it were.

Matplotlib

Put together demo programs on how to use PySimpleGUI and Matplotlib together. I have a couple of examples running, but the implementation is still a little ugly.

Slider Element

Need to add support for sliders.

Planned for version 2.3

They look something like this.

sliders

Demo_Tabbed_Form

GUI does not start in Linux, change line 58 to:

[sg.Submit(button_color=('red', 'yellow')), sg.Cancel(button_color=('white', 'blue')), sg.Text("%s%s" %(MAX_NUMBER_OF_THREADS, ' Threads will be started'))]]

'Validation function' for Input Elements

Allow user to specify a "validation" function that is called on input elements prior to returning the form's results. If the validation function returns True, then the value is a valid one. If False, then it's invalid and the form should not return.

If possible, do it in a way that's "realtime". Rather than waiting for tkinter to return, use a fancier input widget.
This is one solution that only allows digits to be entered into the input field:

import tkinter as tk

class Lotfi(tk.Entry):
    def __init__(self, master=None, **kwargs):
        self.var = tk.StringVar()
        tk.Entry.__init__(self, master, textvariable=self.var, **kwargs)
        self.old_value = ''
        self.var.trace('w', self.check)
        self.get, self.set = self.var.get, self.var.set

    def check(self, *args):
        if self.get().isdigit(): 
            # the current value is only digits; allow this
            self.old_value = self.get()
        else:
            # there's non-digit characters in the input; reject this 
            self.set(self.old_value)

#demo:
window = tk.Tk()
From_entry=Lotfi(window, width=25)
From_entry.grid(column=1,row=2,padx=5)
window.mainloop()

HowDoI GUI - Package as an application

It would be nice to publish on PiPI the HowDoI sample GUI application. IT has a dependence on the HowDoI package.

Not sure how to do this yet, despite it seeming simple. Help would be greatly appreciated.

snap0157

If you can form the right question, it can absolutely nail a solution for you.

Let's say I want to get an SHA256 hash code for a file, but I don't off the top of my head know the hash libraries in Python.

No problem for HowDoI

Type in:
python hash sha256
The result returned back was:

import hashlib

inp = input('Enter something: ')
print(hashlib.sha256(inp.encode('utf-8')).hexdigest())

Error running Demo_Recipes.Everything() on Python 3.4.4

One user posted the following error when running on

After the form shows up, I make a Combobox selection and press Submit button, an error comes out as listed below. (Although the followed MsgBox has correct content and can be closed normally)

C:\Works\Python\PySimpleGUI-master>py
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import Demo_Recipes
Demo_Recipes.Everything()
can't invoke "winfo" command: application has been destroyed
while executing
"winfo exists $w"
(procedure "ttk::entry::AutoScroll" line 3)
invoked from within
"ttk::entry::AutoScroll .42053744.42054352"
(in namespace inscope "::" script line 1)
invoked from within
"::namespace inscope :: {ttk::entry::AutoScroll .42053744.42054352}"
("uplevel" body line 1)
invoked from within
"uplevel #0 $Repeat(script)"
(procedure "ttk::Repeat" line 3)
invoked from within
"ttk::Repeat"
("after" script)

I had try it on three different system, Win8.1, Win7 and Vista, using Python v3.4.4. All has the same error. But it's fine when using Python v3.6.3 on the Win7

Expand keyboard return values

At the moment it's a little difficult to catch multiple keys being pressed such as Ctrl+Alt+Shift+C. Some keyboard sequences work already such as CTRL+ __. Need to device a better way (without breaking existing apps)

Async update TextBox background color (and other options)?

First off, thanks so much for this project! I made my first real gui and and my chemistry (read: non-coder) business partner is stoked to not be forced to the command line to use the tools i make for him.

This issue is about adding more kwargs to the .Update() method of a text box. My application needs to be almost entirely asychronous as i am reading values from a serial port and I would love to be able to display some information to the user by say changing background colors based on these events. (see screenshot below) I assume this should be just a matter of passing a few more args down to the TKInter objects and re-instantiating them?

Probably deserves another issue but...: I'd really love to have all the elements be async-able . Right now I update a ListBox element after reading in a file by tearing down the window and regenerating a new form but this is really hacky and slow.

image

Python 3.7 GUI button text

While executing scripts using PySimpleGUI in a 3.7 interpreter it appears that button text is hidden unless the button is clicked. Could be as simple as a font color issue.
image003

Invisible Button Text on Mac Using Demos

When running the demos on my Mac (10.13.6 - High Sierra), the buttons are usually blank. For example:

blank button text

Also, see the screenshots I posted in case #69 (Tabs Look Ugly on Mac). One of the buttons is invisible in that screenshot.

Button Updates

Continuing to add Update methods to the Elements.

The Button Element has one of these Update methods now. You can currently change the text on a button using the Update method.

This sample code will update the button text in realtime based on what the user enters into the input field:

import PySimpleGUI as g

read_button = g.ReadFormButton('Read', bind_return_key=True)
layout = [[g.T('Form doesn\'t close')],
          [g.T('New Button Text'), g.In(key='text')],
           [read_button]]

form = g.FlexForm('Persistent form with button updates')
form.Layout(layout)

while True:
    button, values = form.ReadNonBlocking()
    if button is None and values is None:
        break
    read_button.Update(values['text'])

button updates

This code is available in the Dev-latest branch.

Loading image and show it

Hey ,buddy,will you plan to write the code to load images and show it with dialog box?
anyway ,i think what you did is an amazing work!!!

Window flashes on screen

When a form is opened, a flash of the window is seen at the default window location. A window flashes on the screen momentarily before user's form window is shown. Then the user's window is shown in the center of the screen.

What's causing this is that in order to determine the size of the form and thus get it perfectly centered on the screen, the form has to be rendered on the screen.

A fix could be to not center windows and allow the system to place them. Or, place them so that the upper left corner is centered.

This does not happen when users specify their own window locations.

Made a new setting in SetOptions. You can now change the default location of all windows from centered on screen to any (x,y) location.

Add Recipe for bolting a GUI onto an existing command line script

There is no reason that PySimpleGUI can't live along-side a command line interface. Those that like command line stuff can keep right on using it.

I'm suggesting that in those scripts, if the user runs the script with zero arguments, then it should launch the GUI. It works well in a windows environment where you can launch the GUI scripts by double clicking the .py file.

SUMMARY - Double-click .py file = you get a GUI. Command line with parameters = executes with those parameters

Need more "Look and Feel" selections

There are several pre-defined look and feel settings available if you use the ChangeLookAndFeel function. However, only a couple of them, GreenTan and LightGreen, are very good. The reason for this is that I suck at colors. I've tried buying color pallets, I've used numerous palette builders, I've read articles, I've even paid people to find me colors. The results speak for themselves.

If anyone can supply some new palettes that would be AWESOME. There are not that many colors that need to be defined to create one of these pre-defined palettes.

These are the definitions for the 2 decent ones:

{'GreenTan': {'BACKGROUND' : '#9FB8AD', 'TEXT': COLOR_SYSTEM_DEFAULT, 'INPUT':'#F7F3EC','TEXT_INPUT' : 'black','SCROLL': '#F7F3EC', 'BUTTON': ('white', '#475841'), 'PROGRESS': DEFAULT_PROGRESS_BAR_COLOR},

                      'LightGreen' :{'BACKGROUND' : '#B7CECE', 'TEXT': 'black', 'INPUT':'#FDFFF7','TEXT_INPUT' : 'black', 'SCROLL': '#FDFFF7','BUTTON': ('white', '#658268'), 'PROGRESS':DEFAULT_PROGRESS_BAR_COLOR},

There are only 4 or 5 colors per selection.

Return values as a dictionary

Create a second format for return values, a dictionary.

This requires changes to the FlexForm call and the calls to each individual input elements.

The FlexForm addition is a flag use_dictionary that indicates if the return values are a list or a dictionary.

Each input element has a new optional parameter, key, which tells the form what key value this field will have in the return dictionary

Readme update

Update readme with consistent looking screen shots.

Update readme with consistent import statements
Unsure if should use the upper or lower case version:

import PySimpleGUI as SG
or change to
import PySimpleGUI as sg

Debug Print not working right after "Chat" type of windows.

The print to the debug window code is initially sending the output to the debug window, but it's losing the re-routing when other windows open and close.

Happens if run this sequence of tests from the Demo_Recipe.py file

ChatBot()
DebugTest()
SourceDestFolders()
DebugTest()  This time it dumps to screen instead of window.

Buttons show outline on Raspberry Pi when button background == form background

Not sure why buttons on the Pi and buttons on Windows differ, but they seem to.

If the button background is the same as the form background, then it should blend in and not show the button's outline.

This code demonstrated the problem on the Pi

sg.ReadFormButton('Restart Song', button_color=(background,background), border_width=0)

snap0121

As you can see, there is an outline around all of the Elements, not just the buttons. Unsure where it's coming from.

Output Element Height

Known issue with Output Elements.

If the Output Element is on the same row as another element that is higher in height than the Output Element, then the Output Element and the its scrollbar height will be the same as the highest element in that row.

Perhaps the fix is in how the Output element is packed into the row.

Could be a delay in solving this as the solution is very similar to a potential design for columns.

Buttons should default to system colors

Currently buttons default to a white on blue color scheme. This is unlike the other Elements' color settings. All of the other elements default to the system setting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.