Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Post your screen shots here! #10

Open
7 tasks
MikeTheWatchGuy opened this issue Jul 24, 2018 · 413 comments
Open
7 tasks

[Question] Post your screen shots here! #10

MikeTheWatchGuy opened this issue Jul 24, 2018 · 413 comments

Comments

@MikeTheWatchGuy
Copy link
Collaborator

MikeTheWatchGuy commented Jul 24, 2018

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

@MikeTheWatchGuy
Copy link
Collaborator Author

OK, so this didn't catch on the way I had hoped....

@MikeTheWatchGuy
Copy link
Collaborator Author

I'm finding some cool examples being posted on GitHub.... if user's won't post them, I sure will! What I'm finding are surprising. The calculator example isn't just a calculator, the author created a new button class based on PySimpleGUI.ReadFormButton

calculator

@eagleEggs
Copy link

Hey! Here are some screenshots of a web automation tool overlay I'm building with with PSG. It is letting me quickly implement without clunky nuance requirements, and provide nice functionality that I really wasn't planning on doing before finding PSG. Thanks!

image

image

image

image

image

image

image

topanga - Test Anatomy

PSG is awesome!

@MikeTheWatchGuy
Copy link
Collaborator Author

Thank you! This is SO helpful to us all. I've already picked up several ideas from what you've done and I'm sure others will too. And thank you for downloading and using the PSG logo 👍 It's better than the default tkinter logo in my opinion.
This kind of post is greatly appreciated to say the least!

@eagleEggs
Copy link

Haha no problem and thanks for the tool itself. About the icon.... don't look too hard at these screenshots!

@eagleEggs
Copy link

eagleEggs commented Oct 2, 2018

Here's another screenshot with a new theme I'm still working on...

image

@MikeTheWatchGuy
Copy link
Collaborator Author

@eagleEggs Just thought of a cool feature for you to use. Maybe your buttons already take care of this, but could work out nicely.... that feature is Menus. And in particular the tear-off menus. They essentially become floating toolbars without icons and instead use text.

floating menu-toolbar

@eagleEggs
Copy link

That is pretty cool. Will be looking into it.

@iris-chang
Copy link

The most interesting thing I've got in my program:
image

Basically a fancied up version of listBox where the user can choose multiple options. Saw it in other programs and wanted one for my own. It also has an advantage over listbox (I think) because when I had a lot of fields on a form, the regular listbox doesn't keep track of the selected values when the focus moves away. So instead, I use this like a popup to keep track of what was selected and allow modifications.

@AltoRetrato
Copy link

I didn't see any tree element screenshot, so here's a sample from a program I'm writing:

tree_256

@eagleEggs
Copy link

Spun off some functionality from my larger testing tool for easy use of specific functionality still using PSG :)

image

@john144
Copy link

john144 commented Nov 4, 2018

A program I wrote in Python using PSG. I use the old-fashioned descript.ion files from the MSDOS days. (Old, but I don't know any better alternative for Windows.) I use comments to label my code, audio, and video files, but need a way to search for them by comment. This is my home-grown solution.

The back end of the screenshot of the program you see is a SQLite database that maps files to their respective descriptions. The database was built by another Python program. (There are three separate Python programs, and I need to integrate them.) The front end to this query program is PySimpleGUI using the latest version of the Table element to display the result set. The PySimpleGUI code is only 70 lines in a 118-line program, including comments and blank lines. You can customize the result set by choosing different databases, and customizing your search using custom queries using SQL or full text search. You can further filter your results using the filter pattern that I picked up from another of Mike's examples. You are looking here at part of my Projects/Python folder, filtered by the keyword 'simple'.

You can select a folder or a file and click on Open. Opening a folder opens the folder in Windows File Explorer. Opening a file opens the file in its default app. I wish there was the ability in PySimpleGUI to capture the double-click event in the Table element and open the file, like you can in Windows File Explorer, or in the PySimpleGUI List element. I actually wrote three versions of this program, trying to get as much functionality of a Win32 ListBox as I could:

  1. Using PySimpleGUI and the List element
  2. Using PySimpleGui and the Table element
  3. Using TKinter and the Treeview element used as a multi-column list

2018-11-03 21_19_10-description file query

@MikeTheWatchGuy
Copy link
Collaborator Author

MikeTheWatchGuy commented Nov 4, 2018

Ah, yes, double clicking. Let me look at how to make that happen. It'll be another version of select submits.

DONE... added... if you set the parameter bind_return_key to True then it will return an event for both the return key and double-clicks, just like listbox does.

See issue which was opened as an enhancement request...
#654

@eagleEggs
Copy link

eagleEggs commented Nov 12, 2018

Completely revamping my GUI as when I gave it to users it was way too convoluted. Here are a few shots of an extremely simplified main menu, and pop out windows for those options. I'm learning a lot about how to design for users now, which actually simplifies the application overall and makes less work lol:

image

Also, spun off functionality from that tool to make htis GUI as well. Super easy with PSG :)

image

@MikeTheWatchGuy
Copy link
Collaborator Author

Woooowww! Are those "real" screenshots?? You did images on your buttons and made them really big. They like a mobile interface. Very nice. All of this will translate over to Qt easily should you ever go that way. Even button images should work. The downside is all that sizing you did will have to be redone.

I really like the looks of theses.

@eagleEggs
Copy link

eagleEggs commented Nov 12, 2018

Haha thanks. Yea they all expect mobile stuff now and if it doesn't look clean and obvious no one will use it :/ It does help to simplify your app though when thinking about it from their perspective!

I took what was 11 tabs and a big window, into 3 buttons on a smaller window. Phew.

@eagleEggs
Copy link

eagleEggs commented Nov 16, 2018

Here are some new screenshots of a major UI overhaul in making a test framework on top of Selenium:

image

Config:
image

Build:
image

Yes, that is a temp password for a local DB - No worries.

@MikeTheWatchGuy
Copy link
Collaborator Author

lidar gui

Ran into this one while cruising GitHub. I'm seeing some nice looking GUIs!

@MikeTheWatchGuy
Copy link
Collaborator Author

snag-0258

Another GUI found on GitHub

@john144
Copy link

john144 commented Nov 20, 2018

I needed a log window that supported multi-colored text. I was using the TKinter Text widget, but that required me to write my entire UI using TKinter, even though I wanted to use PySimpleGUI. I tried subclassing the PySimpleGUI Multiline element and adding a couple of methods that access the TKText attribute. Taking the program I wrote using TKinter, I rewrote my entire GUI using PySimpleGUI and this subclass. It cut the lines of GUI code by 50%. The only thing I lost was the ability to resize the window and the widgets it contained. The learning value is that if a PySimpleGUI doesn't do exactly what you want, you can still sub-class it and add your own functionality, without disturbing the base code.

Here is a quick sample screen shot using this subclassed Multiline element. If there is any interest, I can upload a small demo program consisting of about 80 lines of code. I figured this might be useful where you are logging test cases and want to highlight critical results.

I am also including a screen shot of my SynchDir program, which synchronizes directories (now with PySimpleGui, not TKinter). I use different colors to indicate copy, move, delete, etc. What's unique is the window consists of two frames. I defined the frames separately, then combined them into one layout. I also found out that adding hotkeys is a snap using return_keyboard_events=True. I saved about 5 lines of code over using TKinter.

2018-11-20 13_44_42-log window

2018-11-20 13_55_56-synchdir

@MikeTheWatchGuy
Copy link
Collaborator Author

I typically named tkinter variables consistently. For the elements', their base widget object starts with TK. For example, the slider's tkinter widget is a Scale.

The scale object that's used for a slider is named element.TKScale.
Spinbox is TKSpinBox.
Radiobutton is TKRadio.
Checkbox is TKCheckbutton.
etc

You can easily "go around" the PySimpleGUI SDK to access a variety of features. There was an officially sanctioned one that I recently gave to someone that I have now forgotten.

@eagleEggs
Copy link

Just finalized and released EHX tool officially. Thanks again for a great tool to quickly build GUI's. It definitely played a part in completing this project with it's flexibility and your active support.

Again here is a screenshot and a few from the larger tool that this derives from this which is near completion. I'm looking forward to using PSG again on my next project :D

image

image

image

image

image

image

Working on graph visualizations... But I love the heat map and need to get it more condensed.

Also very cool MIT license icons used: https://octicons.github.com/

@MikeTheWatchGuy
Copy link
Collaborator Author

image

@MikeTheWatchGuy
Copy link
Collaborator Author

Very cool.. I like the Make More Readable... it does that well!

@kennard42
Copy link

Very cool.. I like the Make More Readable... it does that well!

Thanks, I am confronted with a challenge though and I don't know where to ask my question. I want some semi-complicated rules to apply to the input numbers. I felt I was on the right path until I added the keybinding so that I could capture pageup and down to advance the records. Where would I pose this question in detail?

@MikeTheWatchGuy
Copy link
Collaborator Author

MikeTheWatchGuy commented Nov 28, 2018

Open a new issue and post it.

https://github.com/MikeTheWatchGuy/PySimpleGUI/issues/new

@luisegarduno
Copy link

Chess (updated!)

Originally added/created by @MikeTheWatchGuy, the chess demos (player vs. player & player vs. Ai) were included in PySimpleGUI (see here), but were removed from the main branch towards the end of 2022.

In terms of the changes that I made to the original code (see #5052):

I updated requirements.txt to include the latest versions:

PySimpleGUI==4.60.5
python-chess==1.999

I then made changes within both of the demo files to remove any outdated or deprecated code causing errors. I also added compatibility for Linux, allowing users to import files that do not end in ".exe".

Both chess demos have only been tested on Ubuntu 20.04 but should also work on Windows since not much was changed from the original code. Lastly, for the engine, I resulted in having to use Stockfish 13, since there was several issues when trying to use Stockfish 14 or Stockfish 15.

https://github.com/luisegarduno/ChessGUI

image

@definite-d
Copy link

definite-d commented Aug 26, 2023

Themera v2.1.0 has been released (available here). I'd like to share screenshots and point out that with Windows 11, the color of the "built-in" titlebar can be customized. I accomplished it within Themera with a bit of a non-standard solution, but it's proof of concept.

launcher_dark
editor_dark

@onyx-and-iris
Copy link

onyx-and-iris commented Sep 6, 2023

A small remote utility for Voicemeeter, designed to work with the NVDA screen reader.

image
https://github.com/onyx-and-iris/nvda-voicemeeter

Thanks for creating PYSimpleGUI, first time using but very impressed!

@maria-korosteleva
Copy link

I've used the framework to build a garment design configurator in my latest research paper on programmable garments =)
https://github.com/maria-korosteleva/GarmentCode
https://igl.ethz.ch/projects/garmentcode/

Screenshot GUI_2_mosaic

@PySimpleGUI
Copy link
Owner

Wow @maria-korosteleva what an incredible application! I love what you've created! image

I've never seen anything like what you've made. There's clearly a lot going on with your work than just a GUI. I had never thought about the intersection of CAD and making garments. It's a fascinating use of technology. I really appreciate you taking the time to post a screenshot and letting us know about your project.

@maria-korosteleva
Copy link

@PySimpleGUI Thank you very much for your kind words! 🥰

@ikeman32
Copy link

I have created a simple bash script to initialize a PySimpleGUI project. It can be found here: https://github.com/ikeman32/ScriptHelpers/tree/main/devscripts

It's very basic at the moment, but functional. For Windows users, I do have an AI-generated port, but it remains untested as I gave up my Windows addiction in 2017. I may eventually create a platform-independent version of the script using Python.

I do accept code contributions, so if there are Windows users that want to develop a Windows batch equivalent or a Python version of this script, see the README. Or you can code your own.

PySimpleGUI is an absolute God-sent for me. I like simplicity, and I am also lazy, so if there is an easier way to do something, I'm all for it. I'm also in the planning stages for a visual editor/IDE for PySimpleGUI applications.

image
image
image

@PySimpleGUI
Copy link
Owner

We're on very similar wavelengths @ikeman32. It's great to see some add-on tools to help users.

As part of the PySimpleGUI 5 release of the PySimpleGUI applications and add-on modules, I've written a GUI tool that creates all of the necessary files to upload a PySimpleGUI application to PyPI, opening up distribution of Python applications to PySimpleGUI users. We've been releasing tools via PyPI for some time. "psgresizer" is a good example. Users can pip install it and then once installed it can be run by typing "psgresizer" from the command line. There's already a tool, psgshortcut, that takes it all a start further by making shortcuts (icons) that can be pinned to the taskbar or double-clicked.

The idea is to make distribution easy as well as the result be familiar feeling. The command line isn't a normal part of a normal Windows user's world, so getting it out of the way entirely makes a lot of sense. I've just about got the final tool finished that will make it all work end to end.

image

@SaSp73
Copy link

SaSp73 commented Nov 7, 2023

This is my use of PySimpleGUI, a program reading NMEA200 networks, running on raspberry pi 4, and presenting various data used for sail racing.
image

@kcl1s
Copy link

kcl1s commented Nov 7, 2023

Wow
Those graphics are fantastic. Thanks for sharing.

@PySimpleGUI
Copy link
Owner

WOW @SaSp73 !!

image

Truly mind-blowing and very inspiring to see. I've never seen anything like this done with PySimpleGUI! One of the things I love about this project are the surprises by what people create.

I would love to see how you did some of the things you did if you ever care to share the code (even privately would be great.... I'll be confidential. I'm curious what features were helpful).

Thank you so so much for sharing.

@SaSp73
Copy link

SaSp73 commented Nov 7, 2023

Thanks for your kind words. I will send you the code in a couple of days when I return back home.
It need some extra hardware (PICAN-M board, Adafruit ADC and BME280 barometer), but you will manage to get around this with a little bit of tinkering.
Basically the whole control is a graph with elements redrawing according to the calculated data...

BTW, a Rotate_Figure(figure_id, center_point, degrees_of_rotation) would be very helpful (I will open a suggestion later)

@splatert
Copy link

splatert commented Nov 19, 2023

Hello. I would like to thank you for the awesome UI framework you built as it really does help create interfaces in a really simple manner. I've given credit to you on my project's readme file and provided a link that leads to your github page.

With the power of your library, I've created an alternative UI frontend for SpotDL. A tool for downloading Spotify tracks using URLs that you provide. Now SpotDL does have their own interface which is loaded onto the web browser but It felt like it was slow as it took a couple of seconds to start up, which is why I wanted to create my own.

image

The way this frontend is used is that you provide each link into the interface's textbox then hit the plus button to pass them to a list of URLs (which then the listbox shown above displays the urls list).

Upon providing URLs, you then press the download button to initiate the download process (given that you provide the SpotDL executable).

image
If the control shown above is checked, the program would ask you to provide a name for the folder you want to create and send downloaded songs to. Prompt dialog is shown below.

image
Pressing OK will assign the folder name to a string variable then tell the program that you want to create a folder.
Pressing Cancel or having the checkbox mentioned above unmarked would not tell the program to create any folders.

After information is provided, the program executes SpotDL with the links you entered passed as arguments and will wait for it to complete the download job.
image

After the download job is finished, songs get transferred over to the frontend's music directory and you will get a message saying that the download process has been completed.
image
image

Here's a link to the project repository.
https://github.com/splatert/spotdl-ui

@PySimpleGUI
Copy link
Owner

Thank you so much @splatert for the screenshots, the complements and the mention in your readme. image
All are certainly appreciated! It's awesome to see your GUI front-end. I really like the idea of people making their own user interfaces to go onto the front-end of other applications like you've done. Very nice!

@sfreemire
Copy link

IP_MAP_Calculator

A visual calculator for network engineering using the MAP-T protocol (RFC 7599)
https://github.com/sfreemire/IP_MAP_Calculator

  • Calculates network parameters from MAP-T rules
  • Illustrates how network parameters are derived from rules and IPv6 prefixes at the bit level
  • Dynamically displays new values and bit field changes (with highlighting) as rule parameters are changed with sliders

This was my first GUI project. Many thanks to PySimpleGUI for the package, and their excellent support!

Screenshot 2023-11-29 at 2 48 05 PM Screenshot 2023-11-29 at 2 57 52 PM

@PySimpleGUI
Copy link
Owner

This was my first GUI project.

Thank you @sfreemire for sharing your project and the information that this was your first GUI project. Knowing PySimpleGUI pretty well, I can envision your layout's code just by looking at your window, even though it has quite a lot to it. Trying to envision the same code using the other frameworks I've used feels overwhelming for me. Like you, PySimpleGUI was my first GUI project.

I love the colored text detail, use of frames for dividing up the window space and the clean, orderly design. Very inspiring and educational. image

@SuppliedOrange
Copy link

SuppliedOrange commented Jan 28, 2024

PySimpleGUI aided in my first "ambitious failure". I made a little social media app in 11th grade (3 years ago) when I knew a decent amount of python. I had big plans for it and ended up getting a reality check. This was still a very educational experience and I have you guys to thank!

I don't think you'd be happy to see how I abused your code to reuse window layouts or it's ability to make as many children windows as it likes, so I'll keep it with myself for now.

My first GUI project also used PySimpleGUI. I made EmberKey when I was new to python and really helped me get a nice headstart.

Here's a few shots of a presentation I made for the class:
(everything you see in this picture other than the logo is a button that does something.)


image
image


And for a little collage:
Untitled (12)

@Nama
Copy link

Nama commented Feb 4, 2024

For my fan control tool SuckControl I was working on a new GUI and was really proud on this one:
Animation2

@PySimpleGUI
Copy link
Owner

Wow @Nama ! And really proud I believe you should be and have earned! That's an awesome interface!

Fun! It's a lot of fun working with the Graph element and being successful at making a program you can interact with in a custom way visually. The Graph element is one of the things I'm the most proud of with the project. It's enabled me to do things that I would have either been unable to do or would have taken too long.

It's also the gateway to creating custom elements, something I want to revisit when we get PySimpleGUI 5 shipped (we had a last second delay that stopped yesterday's release... it's honestly close...).

Thank you for this awesome motivational boost this morning! I image seeing all these creative programs. And thank you for posting an image (two even) in your readme.

@PySimpleGUI
Copy link
Owner

@SuppliedOrange ... sorry it's taken me a bit to write a comment. I was thrilled on many levels to see what you created at a really young age.

Ambitious! image

I love it when people "fail" in a such a spectacularly successful way image. You may have failed in your eyes, but looks like a homerun to me. Multi-windows??? Unfortunately multi-windows isn't very well documented in the current docs, but the PSG5 documentation does a better job.

I'm particularly impressed with the custom controls/buttons. Your windows don't look at all like a "dated tkinter window" which is frequently said about PySimpleGUI windows. It's not a massive undertaking to polish a PySimpleGUI program with custom graphics, as you've demonstrated.

Young programmers touch a special place in my heart. There has been 3 brilliant young software engineers that have been a part of the PySimpleGUI project. They've each made significant contributions technically and personally. I'm energized and motivated when I see the passion that young programmers have for programming. It's immediately obvious seeing creations like you've made that you're a creative person that loves programming.

I was fortunate to have stumbled onto programming at a young age and instantly felt like it was what I was born to do. I don't know why I felt that way, 47 years ago when accessing a computer took real effort, but I did with all the energy I had. It's a thrill, and I feel really fortunate, to get to see and be a part of young people falling in love with programming. I didn't foresee any of this happening, but really happy it has.

Thank you for the story and sharing your history! "Fail forward" is a term I think fits what you've done. Keep failing!

@darkvip57
Copy link

darkvip57 commented Feb 14, 2024

Just finished a revised version of my radio player - thought I would post a picture here. I have been writing Python code for a few years and PySimpleGUI is an excellent toolkit for building GUI applications.

image

(edited by mike so that the screenshot is visible in the documentation)

@PySimpleGUI
Copy link
Owner

WOW @darkvip57

I LOVE image your application! (You get the extra large hearts).

It's so.... clean... so.... polished.... with custom controls that make your application look nothing like a tkinter-based-GUI.

Thank you for the kind words. It's always nice to hear when someone's had a pleasant experience.

@hatfield-c
Copy link

UI that I made to calibrate tracking software I'm writing which calculates the distance to a queried object

2024-02-26 07-38-00

@zaricj
Copy link

zaricj commented Mar 14, 2024

Hey, I've been building a XML Parsing and Evaluation Program. It uses XML XPaths to search for matching elements in XML File(s) and write found matches in a CSV File. A useful tool for my part since I use it to evaluate around 6000-8000 XML files and I need to know which Files contain attributes with specific values I have also implemented a CSV Conversion to Excel, Markdown and HTML via Pandas in a second Tab.

Here is a screenshot of the main XML Parsing and Evaluation Tab!

2024-03-14 15_15_37-XMLuvation

@jason990420
Copy link
Collaborator

My suggestion is to add the option expand_y=True for the height of Input elements, maybe it will look better.

import PySimpleGUI as sg

layout = [[sg.Input(expand_y=True), sg.Button("Button")]]
window = sg.Window("Title", layout).read(close=True)

image

@Anxiemon
Copy link

Anxiemon commented Apr 10, 2024

Hey! I made a simple text editor to sharpen up my python skills, and rebuilt it with GUI using PSG.
Here's my screenie!
image
also, psst, any tips for making the GUI look a little better?

@PySimpleGUI
Copy link
Owner

Hi @Anxiemon (Pedro)! I'm SO sorry I missed seeing your post. It's been a while since I checked the screenshots.

Thank you for posting a screenshot!! I love seeing what people are creating. The important thing is that (1) you've got something running and (2) you are actively looking to improve it. That's 90% of the work.

The built-in themes are one way of quickly applying color to a window. Another is to look online at pallets of colors. That's how I made the themes. I'm not very skilled at choosing colors which is why I built a lot of color themes into the code.

Here's a site I've used in the past to get matching color groups:
https://colorhunt.co/

I like to use images for buttons sometimes too. That can dramatically have an impact on the user interface. There are some tutorials, cookbook entries and Demo Programs that will help you learn more.

Keep building, and come back and post more screenshots as you build more applications! You're off to a great start! Thank you for sharing.

@P-Kaempf
Copy link

P-Kaempf commented May 9, 2024

OK, now I have had time to shoo the bugs out. This is a Python frontend to some older FORTRAN stuff I have collected over the years. The arrows show the normal vectors of the panels of an airplane, and those should point away from the 'plane in order to allow a potential flow code to work properly.
Bildschirmfoto 2024-05-09 um 15 56 12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests