I like the idea of the layout being made just like a list of lists in python - very organic and makes perfect sense for those who know basic python. pysimpleGUI will be a game-changer once we are able to create smartphone apps with it!
Because I was just starting to learn Python when PySimpleGUI was designed, my head was deeply into the basic data types and the overall "feel" of the language. The simplicity, to the point of elegance, was exciting. I got lucky and found a good combination that felt like a good fit with the language. "I would rather be lucky than good". It helped that I had no deep experience in other GUIs. Ignorance can be freeing in some ways. I had decades of CS & product development to draw on, but Python and GUIs were brand new.
If only other python GUI frameworks had this amount of documentation; despite being present for so long! pysimpleGUI is the framework to go to for desktop python apps. I hope very soon we see it used in making GUI for android apps.
New projects are starting to copy the "formula", writing docs & demo programs. The PySimpleGUI materials could be vastly improved, but at least they're present. The docstrings have been a MASSIVE help, personally. I am explaining their use better in a new course. Glad you're enjoying it! Agree with the mobile being a huge area to expand into. I've been patiently waiting for the right underlying GUI framework to hitch a ride on. The experience must be as trivial / easy to get results on as the current tkinter one. It needs to just work and so far, nothing has delivered that experience. PyDroid3 is the best I've got at the moment, but it's not an actual solution but rather an experiment. They have to be standalone programs, easy to make, easy to transfer, and run. When Python gets there, PySimpleGUI will soon follow. It doesn't feel to me like Python is there yet.
Hi Mike, you've created one of the best GUI packages out there... it pains me to see how this project would be overlooked/not gain as much traction as it could potentially get. While most of the packages 'under document' their creations your creation, that should be (and is!) simple enough to comprehend, is 'over document' itself. To be absolutely clear... you are beating over the bush so much that it will draw most novice developers away. Starting from your documentation page... it is a wall of text that is extremely hard to comprehend on itself, on top of that you repeat yourself so much about 'good practices ' that has nothing to do with your creation. So essentially you spend all the reader's first impression(retention) of your product by giving one simple example....and then speaking about ANYTHING, other than main thing - functionality. Every time by giving advice on 'How to code' and 'How to post your requests on github' or 'how this package is different than other similar projects' you are creating distance between reader and your awesome work. While I'm myself an avid 'Ctrl + F user' still it was very frustrating for me to read documentation in it's current form. Wall of text gets your attention away form important bullet points. Keeping everything in one page is just impractical, like you preaching not to separate attributes in order to keep everything neat and tidy... keeping documentation in one page is like squeezing all your code into one line, just for the sake of it. Would you like to scroll left/wright to understand what program is doing? I think not.... that is literary what is going on with documentation page right now. You mentioned 'Pythonic way' a lot in your documentation yet documentation itself dose not follow good practices of Python documentation, take a look how they handle index page and sections short and tidy docs.python.org/3/tutorial/index.html , if you click on any of the sections you would see how there is nothing but what is relevant to this section, this keeps reader focused on subject he/she is interested in. Same goes to the Index, on the left side it shows only paragraphs that are relevant to the subject that user is reading. Same goes with videos, you are not showcasing your library as much... but spend so much time on how it is different form others. People will see that it's different, there is no need to explain and compare other libraries, believe me most people coming from the verge of frustration, like the one that you had/have with creating too many classes and just want to solve simple problems quick. Concise takeaway from this long post is: Rework documentation: 1) Remove or move to the bottom everything that dose not represent/showcase your YOUR product ('programming practices', 'your frustrations with other programmers/products','history of development of the project') 2) Make index bar( that is on the right side) collapsible by default, so main topics could be found at a glance without scrolling the index bar 3) Keep topics in separate pages (so if I go on 'The Quick Tour' it would only show that page). Rework your RUclips videos: 1) Remove videos that are outdated or repetitions on the subject 2) Keep it short OR slice it into subjects. ________________________________ When I went to the Documentation page and this youtube channel I was looking for this information: 1) How to link Elements to functions 2) What Elements are available and how to call them 3) How to change placement (left ight\center\top\bottom) of elements ^ these things should be explained **first** everything else is **not simple**. "Less is more" - it's really strange for me to tell that to the developer that created one of the best GUI libraries that is based on that principle. I really hope you will spend some time to rework your resources because newbies will be lost in the information stream and pros will not bother. sincerely yours, inarisound
The documentation was recently split into 2 sections. There's a call reference "tab" now that answers your question 2 of what elements are available and all of their methods. Are you using the read the docs version of the docs that has a table of contents along the left edge? (docs.PySimpleGUI.org)... the call ref is now here (calls.PySimpleGUI.org) Enhancements, requests, questions, suggestions that could benefit the project are best logged on the project's GitHub in the Issues section (Issues.PySimpleGUI.org). This consolidates everything into one master list. I'm sorry that the package is frustrating for you. I agree there are a LOT of things that could be better. That's just sorta how it is I'm afraid. There's only so much that can be done in a day. If it's too frustrating for you to use, then I recommend one of the other packages may be a better fit.
It's a "loose" grid of sorts since each "row" can be of any length and different than the others, and the 3rd item in one line may not (likely won't) line up with the 3rd item on another. Not quite sure what the right term is for the layout. I've stayed away from the grid term as it has some implications about absolute positioning that simply aren't how it works. Then again, I don't know how grids work in CSS :-)
Yes. Use "size" parameter when creating Window or make the contents of your window bigger. The "default size" is determined by what you've got in your layout. One place with more info -> pysimplegui.readthedocs.io/en/latest/call%20reference/#window
Really!? I'm glad you found it helpful. When I sat down to record this series, I honestly thought I would be able to make ONE video that lasted 30 minutes in total for all of the topics covered in this playlist. Just this one is 42 minutes! But the more I think about it, I'm trying to teach absolutely everything about a GUI library. To do that with tkinter would take more than 1 thirty minute video I suppose. Just wanting as many people as possible to be successful with it. It's a big tent and all levels of Python programmer are welcome.
@@PySimpleGUI Absolutely! I'm coming from being pretty okay with Java, I'm a CS student, and I wanted to make a program for my friends and me, so I decided it'd be a fun first python project and I came across PySimpleGUI, and it's making the GUI part fun which I thought I was going to hate coming from java Swing lol. Anyway, your videos have been super helpful for me, and PySimpleGUI is awesome. I will certainly be watching every vid you come out with about GUIs
@@drainis "FUN" is one of the fundamental goals of the project. It sounds kinda stupid as a library's goal, but I seriously wanted the experience to be a fun one. It makes time fly. Turns dread into positive anticipation. You stick with the project longer. I like having fun and seemed like if I was seriously putting the developer at the center of attention, it should be fun for them too.
i have a question about pad= so mine is just pad=(10, 20) and it went 10 pixels to the right and 20 pixels to the bottom how do I position my button on top? since typing a negative value thinking it would do the opposite just gave me an error
I like the idea of the layout being made just like a list of lists in python - very organic and makes perfect sense for those who know basic python. pysimpleGUI will be a game-changer once we are able to create smartphone apps with it!
Because I was just starting to learn Python when PySimpleGUI was designed, my head was deeply into the basic data types and the overall "feel" of the language. The simplicity, to the point of elegance, was exciting. I got lucky and found a good combination that felt like a good fit with the language. "I would rather be lucky than good". It helped that I had no deep experience in other GUIs. Ignorance can be freeing in some ways. I had decades of CS & product development to draw on, but Python and GUIs were brand new.
If only other python GUI frameworks had this amount of documentation; despite being present for so long! pysimpleGUI is the framework to go to for desktop python apps. I hope very soon we see it used in making GUI for android apps.
New projects are starting to copy the "formula", writing docs & demo programs. The PySimpleGUI materials could be vastly improved, but at least they're present. The docstrings have been a MASSIVE help, personally. I am explaining their use better in a new course.
Glad you're enjoying it! Agree with the mobile being a huge area to expand into. I've been patiently waiting for the right underlying GUI framework to hitch a ride on. The experience must be as trivial / easy to get results on as the current tkinter one. It needs to just work and so far, nothing has delivered that experience.
PyDroid3 is the best I've got at the moment, but it's not an actual solution but rather an experiment. They have to be standalone programs, easy to make, easy to transfer, and run. When Python gets there, PySimpleGUI will soon follow. It doesn't feel to me like Python is there yet.
"The time is one o'clock" at 38:05 scared the sh*t out of me lmao.
Great tutorial!
It was precisely 13:40 for me when that happened and I was wondering why my computer is not only telling me the time but it also gets it wrong :D
Hi Mike, you've created one of the best GUI packages out there... it pains me to see how this project would be overlooked/not gain as much traction as it could potentially get.
While most of the packages 'under document' their creations your creation, that should be (and is!) simple enough to comprehend, is 'over document' itself.
To be absolutely clear... you are beating over the bush so much that it will draw most novice developers away.
Starting from your documentation page... it is a wall of text that is extremely hard to comprehend on itself, on top of that you repeat yourself so much about 'good practices ' that has nothing to do with your creation. So essentially you spend all the reader's first impression(retention) of your product by giving one simple example....and then speaking about ANYTHING, other than main thing - functionality.
Every time by giving advice on 'How to code' and 'How to post your requests on github' or 'how this package is different than other similar projects' you are creating distance between reader and your awesome work.
While I'm myself an avid 'Ctrl + F user' still it was very frustrating for me to read documentation in it's current form. Wall of text gets your attention away form important bullet points. Keeping everything in one page is just impractical, like you preaching not to separate attributes in order to keep everything neat and tidy... keeping documentation in one page is like squeezing all your code into one line, just for the sake of it. Would you like to scroll left/wright to understand what program is doing? I think not.... that is literary what is going on with documentation page right now.
You mentioned 'Pythonic way' a lot in your documentation yet documentation itself dose not follow good practices of Python documentation, take a look how they handle index page and sections short and tidy docs.python.org/3/tutorial/index.html , if you click on any of the sections you would see how there is nothing but what is relevant to this section, this keeps reader focused on subject he/she is interested in. Same goes to the Index, on the left side it shows only paragraphs that are relevant to the subject that user is reading.
Same goes with videos, you are not showcasing your library as much... but spend so much time on how it is different form others.
People will see that it's different, there is no need to explain and compare other libraries, believe me most people coming from the verge of frustration, like the one that you had/have with creating too many classes and just want to solve simple problems quick.
Concise takeaway from this long post is:
Rework documentation:
1) Remove or move to the bottom everything that dose not represent/showcase your YOUR product ('programming practices', 'your frustrations with other programmers/products','history of development of the project')
2) Make index bar( that is on the right side) collapsible by default, so main topics could be found at a glance without scrolling the index bar
3) Keep topics in separate pages (so if I go on 'The Quick Tour' it would only show that page).
Rework your RUclips videos:
1) Remove videos that are outdated or repetitions on the subject
2) Keep it short OR slice it into subjects.
________________________________
When I went to the Documentation page and this youtube channel I was looking for this information:
1) How to link Elements to functions
2) What Elements are available and how to call them
3) How to change placement (left
ight\center\top\bottom) of elements
^ these things should be explained **first** everything else is **not simple**.
"Less is more" - it's really strange for me to tell that to the developer that created one of the best GUI libraries that is based on that principle.
I really hope you will spend some time to rework your resources because newbies will be lost in the information stream and pros will not bother.
sincerely yours,
inarisound
The documentation was recently split into 2 sections. There's a call reference "tab" now that answers your question 2 of what elements are available and all of their methods. Are you using the read the docs version of the docs that has a table of contents along the left edge? (docs.PySimpleGUI.org)... the call ref is now here (calls.PySimpleGUI.org)
Enhancements, requests, questions, suggestions that could benefit the project are best logged on the project's GitHub in the Issues section (Issues.PySimpleGUI.org). This consolidates everything into one master list.
I'm sorry that the package is frustrating for you. I agree there are a LOT of things that could be better. That's just sorta how it is I'm afraid. There's only so much that can be done in a day. If it's too frustrating for you to use, then I recommend one of the other packages may be a better fit.
11:36 Just say 'shitload" when you want to
LOL....trying to remain a "family friendly" channel 😂 Pretty close, but squeaked past....
Reminds me a lot how CSS properties work and the CSS grid :)
It's a "loose" grid of sorts since each "row" can be of any length and different than the others, and the 3rd item in one line may not (likely won't) line up with the 3rd item on another. Not quite sure what the right term is for the layout. I've stayed away from the grid term as it has some implications about absolute positioning that simply aren't how it works. Then again, I don't know how grids work in CSS :-)
pure magic!
Hey I've got a question:
Can you make the window resizable and also how can you change the size of a window(bcuz the default size is kinda small:))
Yes.
Use "size" parameter when creating Window or make the contents of your window bigger. The "default size" is determined by what you've got in your layout.
One place with more info -> pysimplegui.readthedocs.io/en/latest/call%20reference/#window
Hell yeah, thank you man
Really!? I'm glad you found it helpful. When I sat down to record this series, I honestly thought I would be able to make ONE video that lasted 30 minutes in total for all of the topics covered in this playlist. Just this one is 42 minutes!
But the more I think about it, I'm trying to teach absolutely everything about a GUI library. To do that with tkinter would take more than 1 thirty minute video I suppose.
Just wanting as many people as possible to be successful with it. It's a big tent and all levels of Python programmer are welcome.
@@PySimpleGUI Absolutely! I'm coming from being pretty okay with Java, I'm a CS student, and I wanted to make a program for my friends and me, so I decided it'd be a fun first python project and I came across PySimpleGUI, and it's making the GUI part fun which I thought I was going to hate coming from java Swing lol. Anyway, your videos have been super helpful for me, and PySimpleGUI is awesome.
I will certainly be watching every vid you come out with about GUIs
@@drainis "FUN" is one of the fundamental goals of the project. It sounds kinda stupid as a library's goal, but I seriously wanted the experience to be a fun one. It makes time fly. Turns dread into positive anticipation. You stick with the project longer. I like having fun and seemed like if I was seriously putting the developer at the center of attention, it should be fun for them too.
i have a question about pad=
so mine is just pad=(10, 20)
and it went 10 pixels to the right and 20 pixels to the bottom
how do I position my button on top?
since typing a negative value thinking it would do the opposite just gave me an error
Please post this as an issue on the GitHub Issues.PySimpleGUI.org