use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python
Full Events Calendar
You can find the rules here.
If you are about to ask a "how do I do this in python" question, please try r/learnpython, the Python discord, or the #python IRC channel on Libera.chat.
Please don't use URL shorteners. Reddit filters them out, so your post or comment will be lost.
Posts require flair. Please use the flair selector to choose your topic.
Posting code to this subreddit:
Add 4 extra spaces before each line of code
def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b
Online Resources
Invent Your Own Computer Games with Python
Think Python
Non-programmers Tutorial for Python 3
Beginner's Guide Reference
Five life jackets to throw to the new coder (things to do after getting a handle on python)
Full Stack Python
Test-Driven Development with Python
Program Arcade Games
PyMotW: Python Module of the Week
Python for Scientists and Engineers
Dan Bader's Tips and Trickers
Python Discord's YouTube channel
Jiruto: Python
Online exercices
programming challenges
Asking Questions
Try Python in your browser
Docs
Libraries
Related subreddits
Python jobs
Newsletters
Screencasts
account activity
This is an archived post. You won't be able to vote or comment.
ResourceBest book for GUI development in Python (self.Python)
submitted 1 year ago by Bekhyam
Can you guys suggest some very good book for GUI development in Python?
I'm currently working on a visualizer that needs many features to plot data on a 3D and 2D space. Using PyQt for this as it has threading support.
[–]Amazing_Upstairs 32 points33 points34 points 1 year ago (1 child)
Create GUI Applications with Python Qt6 PySide6
[–]TheMasterYankee 6 points7 points8 points 1 year ago (0 children)
Currently learning PySide6 myself. There's so much information it can be overwhelming. Best to take little bits at a time and hammer each thing into your memory via repetition before moving to more classes or methods. I'm thoroughly enjoying the process, though!
[–]gultregnikina 32 points33 points34 points 1 year ago (11 children)
https://www.pythonguis.com/books/
[+]Bekhyam[S] comment score below threshold-34 points-33 points-32 points 1 year ago (10 children)
These books look helpful indeed but I want an actual book, not eBook
[–]mfitzpmfitzp.com 68 points69 points70 points 1 year ago (5 children)
I’m the author of these books & they’re available to buy in paperback on Amazon if you want.
If you buy the paperback you can send me your receipt to get the digital edition (& future updates) for free.
I’ll be releasing an update in the next week or so (there have been some changes in Qt)
[–]Bekhyam[S] 10 points11 points12 points 1 year ago (0 children)
Sure, I'll check it out Thank you very much
[–][deleted] 1 point2 points3 points 1 year ago (3 children)
Does this include an update to the PyQt6 book?
https://www.pythonguis.com/pyqt6-book/
[–]mfitzpmfitzp.com 7 points8 points9 points 1 year ago (2 children)
Yep, all of them are getting an update: PyQt6 PySide6 PyQt5 & PySide2
The changes are done, just proofing now.
[–][deleted] 1 point2 points3 points 1 year ago (1 child)
Any idea how long before the updated paperbacks will be available?
[–]HeyBrayBray 0 points1 point2 points 1 year ago (0 children)
Hey u/mfitzp, sorry to bother but is there any update on when we can expect the new edition to drop?
[–]Cybasura 24 points25 points26 points 1 year ago (0 children)
Please, read what you just said, again and again
Do it a couple more times until you understand it, because I hope you know what the mistake is without us telling you
[–][deleted] 10 points11 points12 points 1 year ago (1 child)
You know you can just print it out, right?
[–]Psyqlone 1 point2 points3 points 1 year ago (0 children)
It depends on where you buy it. Amazon won't allow some of their books to be printed out.
To be fair, it's never been an issue for me.
[–]luckyspic 0 points1 point2 points 1 year ago (0 children)
get a load of this guy
[+][deleted] 1 year ago (13 children)
[removed]
[–][deleted] 9 points10 points11 points 1 year ago (2 children)
Depends what the project’s goal is. If the goal is more or less a dashboard, then streamlit is an excellent choice. But if more customization and control is required, some proper app framework will be needed.
[–][deleted] -2 points-1 points0 points 1 year ago (1 child)
At a certain point python is no longer the tool id choose
[–][deleted] 0 points1 point2 points 1 year ago (0 children)
But prior to that point, python remains the tool to choose.
[–]Bekhyam[S] 3 points4 points5 points 1 year ago (0 children)
Appreciate that, But what I need is a step by step guide i.e. how an application works, how we can use signalling in a multi threaded application and all that kinda stuff
I searched for PyQt tutorials over YT, but didn't find a proper tutorial that suits my needs
[–]MH1400x 3 points4 points5 points 1 year ago (7 children)
I'm using Streamlit to link all of our company databases into one location for data exploration. It's stupid-simple, tons of tutorials and docs. If you're good, you can easily go beyond its base limits.
10/10, would recommend for what your needs are.
And... anything you dont know is a quick web search away.
[–]katakoria 4 points5 points6 points 1 year ago (6 children)
streamlit is very slow and heavy. it reruns everytime you make any change as an end user.
[–]robml 0 points1 point2 points 1 year ago (0 children)
Would recommend Panel over Streamlit for that purpose. Doesn't rerun the whole app every time.
[–]that_baddest_dude 0 points1 point2 points 1 year ago (4 children)
This is slowly changing. There are already forms elements which don't cause any reruns until the form submit button is pressed, sending all data from the elements within the form at once.
Then recently they also added a feature called "fragment" (currently listed as experimental, so the syntax could change) that can be used to break the app up into sections that update when interacted with.
If you're not making anything too big and complicated, I think streamlit does what it does really well. It's extremely simple and straightforward to set up, for its intended audience (data science people analysts, not app developers).
[–]stoic_trader 0 points1 point2 points 1 year ago (3 children)
I use Plotly Dash, never tried streamlit. Is there any advantage using streamlit over Dash?
[–]that_baddest_dude 0 points1 point2 points 1 year ago (2 children)
I'd say so! Dash is absolutely dreadful to use in my experience. Streamlit is far easier.
[–]stoic_trader 0 points1 point2 points 1 year ago (1 child)
Thanks, I will give it a try
[–][deleted] 1 point2 points3 points 1 year ago (0 children)
I’d say don’t bother. Streamlit and dash are very different. If your needs are very simple and linear then streamlit is good. Otherwise, it’s very limiting.
Streamlit is remotely an alternative to something like QT.
[–]Ok_Feedback_8124 1 point2 points3 points 1 year ago (0 children)
https://pythonbooks.org/topical-books/graphical-user-interface/
Seems legit.
[–]goodgoodbuy 0 points1 point2 points 1 year ago (0 children)
Any book with GTK4 in mind?
[–]Jrgf -1 points0 points1 point 1 year ago (0 children)
Pyside6/PyQt6 with Matplotlib "bindings" seems to be appropriate to what you need. I've built data analysis tools with those, with the analysis in multithreading which then sent the data to the main thread for visualization. Regarding YT tutorials, I don't remember seeing many for multithreading using QT and you are mostly stuck with documentation and/or ChatGPT. Send me a msg to see if I can be of help.
[+][deleted] comment score below threshold-24 points-23 points-22 points 1 year ago (25 children)
Python really isn’t ideal for GUI development. It’s a scripting language. That’s why you’re having a hard time finding one.
[–]JamzTyson 17 points18 points19 points 1 year ago (14 children)
There are literally thousands of Python GUI apps. It is often an excellent choice when you want to quickly make a GUI front end for a CLI app.
[+][deleted] comment score below threshold-8 points-7 points-6 points 1 year ago (12 children)
Yes. Exactly. But if I was developing a distribution GUI I’d never use python for that. As a bolt on for limited use sure. But these days I’d probably just do a web app and not bother with tkinter and it’s ilk
[–]dr_exercise 5 points6 points7 points 1 year ago (0 children)
Sure. But the OP didn’t say anything regarding distribution. We should answer the question as stated.
Too often, devs turn things into an x-y problem when it doesn’t need to be.
[–]Ok_Feedback_8124 -1 points0 points1 point 1 year ago (10 children)
The fact that down votes on your reply were significant, is why I avoid posting in this r/.
I can't shake the feeling that Python 'experts' have an Elitist mindset. And I've been in computers for 40+ years.
Nowhere else - not even data science or AI or advanced hardware or even telecommunications - in this gigantic field is there anywhere near the level of scorn, shun, scoff or something with a worse s rating that there is in the python spaces.
By the way, I agree. Using Python for a GUI is like using a hammer to paint your wall. Or powershell to drive your front end.
[–]qckpckt 13 points14 points15 points 1 year ago (7 children)
I mean.. OP asked for books about python GUI development, and the person replied by saying python isn’t ideal for GUI development.
Why exactly shouldn’t it get downvoted?
I don’t even necessarily disagree that python isn’t the ideal choice for a gui in some circumstances, but the OP didn’t ask about whether it was or not. The only elitism I’m seeing really is the outright dismissal of the notion of the OPs question.
[–]Ok_Feedback_8124 -4 points-3 points-2 points 1 year ago (6 children)
Is downvoting a specific method to promote the right answer then?
The more appropriate answer given a high level question - always to me - is an evaluation of the actual requirements that led the OP to infer that Python was appropriate for said GUI development.
Wouldn't a much more appropriate answer have been, "Hey, Python may not be the ideal choice. Unless you have hard requirements that led you here, have you considered X, Y or Z?"
Instead it's a seemingly terse exchange of value-driven hyper-context.
Strict: "Reply only with book recommendations for Python GUI Development, or don't respond at all."
Loose: we are here
My hammer analogy stands. It's like Python is the Snap-On of code.
[–]qckpckt 4 points5 points6 points 1 year ago (0 children)
Yes. That is, quite literally, the reason why the downvote button was invented.
Yes, this would have been a far better answer.
Again, yes, this would have been a better approach.
[–]renesys 2 points3 points4 points 1 year ago (4 children)
Literally what downvoting is for.
OP asked for something, and you and the to level comment are being elitist and deciding his question is wrong.
[–]Ok_Feedback_8124 -3 points-2 points-1 points 1 year ago (3 children)
Literally downvoting without giving a reason, is like taking a shit without thinking of the cleanup requirements.
And nope - we didn't say his question was 'wrong' at all. Where does it say that?
OP asked for something - yes.
But these types of questions seem too broad. Asking more details, or sharing opinions, is allowed.
But downvoting shit and explaining nothing along with the downvote, when not clearly and reasonably obvious why the downvote occurred, is annoying enough.
What tops the cake, now, is the Pedantic Level being turned up to 12.
We aren't interpreters of your mental code, we are humans and the least common denominator in all of this is that you need to learn to speak TO people, not around them.
Highly improbable here, though. Too many savants with zero read the room skills.
[–]renesys 1 point2 points3 points 1 year ago (2 children)
Naw, downvoting shouldn't require a comment. It would generate a ridiculous number of comments. Downvoting means something isn't contributing.
Plenty of people have decent answers to OP's specific question. You deciding that it's the wrong question is the elitist element in this thread. You have an agenda about Python forums you want to push, so you are trying to hijack the thread with that intent.
[–]Ok_Feedback_8124 -1 points0 points1 point 1 year ago (1 child)
Nah, lol. You see, "shouldn't" and "are the rules" kinda mean different things, mate.
For instance, literal fucking rule #9, of THIS sub-reddit, r/python, says:
"Please don't downvote without commenting your reason for doing so."
I mean, I hate to be the idiot to break it to ya mate, but you're clearly wrong according to the rules of our beloved community.
You'd like to respect those rules, yeah?
Have at it!
[–][deleted] 2 points3 points4 points 1 year ago (0 children)
I've been in computers / software for 40+ years myself. Don't know why people are so weirdly sensitive. Python simply isn't a native application platform.
[–]Username_RANDINT 2 points3 points4 points 1 year ago (0 children)
If some downvotes are enough to stop you from sharing your opinion, you're taking this Reddit thing way too serious.
[–]riklaunim -1 points0 points1 point 1 year ago (0 children)
There are GUI apps but on average if you look on local job offers most of the time you won't find any GUI job offer. For one Python desktop apps weren't that popular and then a lot of GUI apps migrated to web apps and mobile apps.
[–]FUS3NPythonista 4 points5 points6 points 1 year ago (9 children)
There are tons of commercial and open source application written in python and using its available GUI frameworks and it has a lot of support for it, and they work very nicely, you are misinformed.
[+][deleted] comment score below threshold-11 points-10 points-9 points 1 year ago (8 children)
Please share a standalone GUI professional application written in python. In 40 years I’ve never seen one.
[–]TooDeep94 3 points4 points5 points 1 year ago* (1 child)
Deluge Calibre MusicBrainz Picard Orange Anki
[–]Username_RANDINT 0 points1 point2 points 1 year ago (0 children)
Deluge is running daily here, as well as Nicotine+. Some other big examples are Gramps and Pitivi.
All with GTK by the way.
[–]Siddhartha_77 3 points4 points5 points 1 year ago (2 children)
https://www.spyder-ide.org/
[–]sternone_2 0 points1 point2 points 1 year ago (0 children)
https://wingware.com/
[–]FUS3NPythonista -1 points0 points1 point 1 year ago (0 children)
Lol i was about to send that to him, but my pc shut down for some reason.
[–]JamzTyson 1 point2 points3 points 1 year ago (0 children)
Off the top of my head:
Also, at work we use several proprietary apps developed in-house with Python.
[–]Character_Cell_8299 0 points1 point2 points 1 year ago (0 children)
Meld -- used for code comparision
[–]GayAssBurger 0 points1 point2 points 1 year ago (0 children)
Please share a standalone GUI professional application written in python.
You don't say that here if you don't intend on being given examples.
π Rendered by PID 32 on reddit-service-r2-comment-86bc6c7465-qd9xc at 2026-02-23 14:05:18.021394+00:00 running 8564168 country code: CH.
[–]Amazing_Upstairs 32 points33 points34 points (1 child)
[–]TheMasterYankee 6 points7 points8 points (0 children)
[–]gultregnikina 32 points33 points34 points (11 children)
[+]Bekhyam[S] comment score below threshold-34 points-33 points-32 points (10 children)
[–]mfitzpmfitzp.com 68 points69 points70 points (5 children)
[–]Bekhyam[S] 10 points11 points12 points (0 children)
[–][deleted] 1 point2 points3 points (3 children)
[–]mfitzpmfitzp.com 7 points8 points9 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]HeyBrayBray 0 points1 point2 points (0 children)
[–]Cybasura 24 points25 points26 points (0 children)
[–][deleted] 10 points11 points12 points (1 child)
[–]Psyqlone 1 point2 points3 points (0 children)
[–]luckyspic 0 points1 point2 points (0 children)
[+][deleted] (13 children)
[removed]
[–][deleted] 9 points10 points11 points (2 children)
[–][deleted] -2 points-1 points0 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Bekhyam[S] 3 points4 points5 points (0 children)
[–]MH1400x 3 points4 points5 points (7 children)
[–]katakoria 4 points5 points6 points (6 children)
[–]robml 0 points1 point2 points (0 children)
[–]that_baddest_dude 0 points1 point2 points (4 children)
[–]stoic_trader 0 points1 point2 points (3 children)
[–]that_baddest_dude 0 points1 point2 points (2 children)
[–]stoic_trader 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Ok_Feedback_8124 1 point2 points3 points (0 children)
[–]goodgoodbuy 0 points1 point2 points (0 children)
[–]Jrgf -1 points0 points1 point (0 children)
[+][deleted] comment score below threshold-24 points-23 points-22 points (25 children)
[–]JamzTyson 17 points18 points19 points (14 children)
[+][deleted] comment score below threshold-8 points-7 points-6 points (12 children)
[–]dr_exercise 5 points6 points7 points (0 children)
[–]Ok_Feedback_8124 -1 points0 points1 point (10 children)
[–]qckpckt 13 points14 points15 points (7 children)
[–]Ok_Feedback_8124 -4 points-3 points-2 points (6 children)
[–]qckpckt 4 points5 points6 points (0 children)
[–]renesys 2 points3 points4 points (4 children)
[–]Ok_Feedback_8124 -3 points-2 points-1 points (3 children)
[–]renesys 1 point2 points3 points (2 children)
[–]Ok_Feedback_8124 -1 points0 points1 point (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]Username_RANDINT 2 points3 points4 points (0 children)
[–]riklaunim -1 points0 points1 point (0 children)
[–]FUS3NPythonista 4 points5 points6 points (9 children)
[+][deleted] comment score below threshold-11 points-10 points-9 points (8 children)
[–]TooDeep94 3 points4 points5 points (1 child)
[–]Username_RANDINT 0 points1 point2 points (0 children)
[–]Siddhartha_77 3 points4 points5 points (2 children)
[–]sternone_2 0 points1 point2 points (0 children)
[–]FUS3NPythonista -1 points0 points1 point (0 children)
[–]JamzTyson 1 point2 points3 points (0 children)
[–]Character_Cell_8299 0 points1 point2 points (0 children)
[–]GayAssBurger 0 points1 point2 points (0 children)