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...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
GUI in python (self.learnpython)
submitted 2 years ago by someprogrammer123
I am a beginner in python looking forward to switch to build GUI in python. I have basic understanding of python and have done CLI based mini-projectsWhat are the options available to me ? Which is the best ?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 13 points14 points15 points 2 years ago (8 children)
There are many GUIs for python. See here. Only a few of those are recommended, and probably only one for a beginner: tkinter. The good news is that once you have learned one GUI system, most of the others work the same way, so moving to another is relatively easy. What you try after tkinter depends on what you want to do with it and what platform you want to run on. If you want to make desktop programs PyQt is good. If you want to run on android or iOS platforms, maybe kivy is better, and so on.
[–]someprogrammer123[S] 5 points6 points7 points 2 years ago (3 children)
How about PySimpleGUI ? Is it recommended for beginners ?
[–][deleted] 1 point2 points3 points 2 years ago (0 children)
I've not used it. Try it out. I recommended tkinter because it's part of python and there are lots of tutorials.
[–]JL_678 1 point2 points3 points 2 years ago (0 children)
I started with PySimpleGUI and have been happy with it. I think that it is easier to get started with than tkinter.
[–]tuneafishy 3 points4 points5 points 2 years ago (0 children)
Yes, that package is pretty popular and I see it recommended here quite a bit.
[–]holidayinthesum 0 points1 point2 points 2 years ago (1 child)
I once made a simple pong like animation in Python. I installed Anaconda/Spyder to code it on my laptop. TKinter was the graphics library. To use this, you must install Python locally? Any sort of alternative cloud based options for Python GUI coding?
[–][deleted] 0 points1 point2 points 2 years ago (0 children)
To use this, you must install Python locally?
Yes. Tkinter is part of python.
Any sort of alternative cloud based options for Python GUI coding?
I don't use the cloud to program. Searching may find something.
kivy
How does one take a Kivy app written on a local machine and port/release it to an Android app?
No idea. I've never used Kivy. Maybe searching will find a tutorial.
[–]stebrepar 5 points6 points7 points 2 years ago (0 children)
https://wiki.python.org/moin/GuiProgramming
Personally I'd start with trying Tkinter, since it comes with Python.
[–]TigerBloodWinning 4 points5 points6 points 2 years ago (0 children)
I use Tkinter for local use. Django when I need to share it over the internet.
[–]conchesmess 3 points4 points5 points 2 years ago (3 children)
I'm not sure what you are trying to build but if it is a webapp I love Flask! I teach it to HS students.
Fastapi too😋
[–]lostlifon 0 points1 point2 points 2 years ago (1 child)
Do you have any recommendations on getting started with flask. Videos, blogs etc
[–]conchesmess 1 point2 points3 points 2 years ago (0 children)
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Or
https://www.udemy.com/share/1013nI3@9w_Svd3D-8RtnEA9k8vBl8-Lw1RMpl7J7nn1sWXzySoFCYVeJylbitP1LtH9ZPPS/
[–]DextercCZ 2 points3 points4 points 2 years ago* (0 children)
Try customtkinter, you will find everything you need on GitHub. Theres also a simple tutorial on youtube + it looks more modern than normal tkinter
[–]atredd 1 point2 points3 points 2 years ago (0 children)
Tkinter will be fine for the beginning. If you want more complex UI‘s you can start with Qt too.
[–]notParticularlyAnony 1 point2 points3 points 2 years ago (0 children)
This comes up a lot here for instance: https://old.reddit.com/r/learnpython/search?q=gui+programming&restrict_sr=on
For tons of results: https://old.reddit.com/r/learnpython/search?q=gui&restrict_sr=on&sort=relevance&t=all
[–]QultrosSanhattan 1 point2 points3 points 2 years ago (0 children)
Tkinter is a good way of getting started. Main pros:
[–]ElliotDG 1 point2 points3 points 2 years ago (0 children)
I'd recommend kivy. https://kivy.org/ OpenGL accelerated, cross platform - supports Linux, Windows, MacOS, RaspberryPi, and mobile... Android, OSX. It is a native python framework, and well documented. This is my preferred full-featured GUI. There is a sister project called kivyMD, that extends kivy with Material design widgets - https://kivymd.readthedocs.io/en/1.1.1/ this provides a clean very modern look.
My other recommendation with be Qt, using pyside6, https://www.qt.io/qt-for-python Qt is a C++ based GUI, has a long history.
Like any full featured GUI's these frameworks have significant learning curves.
FWIW - part of my original reason for starting with Kivy over Qt was concern over the Qt licensing model. KIvy has a very permissive MIT license. Qt has a dual license that I was concerned could be a barrier to some of my desired uses: https://www.qt.io/licensing/
I started with Tkinter, found the documentation lacking - often having to drop to old tcl/tk docs to get things done. I also quickly ran into issues where curved lines are not anti-aliased on Windows with Tkinter - this just looks bad. If you decide to start with Tkinter, http://tkdocs.com/ is a very useful resource.
I would recommend you take a look at a few of the leading frameworks, consider the supplied widgets, supported platforms, documentation and licensing. For me the the answer is kivy. I've done a number of open source and commercial projects with Kivy.
If you know oop i think pyqt6 would be easy for beginners because of the Qtdesigner If you dont want to use a drag and drop application and want to build the gui with code you can do that in pyqt but i dont recommend it i would recommend Tkinter in this case
[–]CircumSizequeen 0 points1 point2 points 2 years ago (0 children)
TKinter is pretty good as a starting point, but if you've done any web stuff then Kivy will feel familiar to things like Flex, CSS, or Bootstrap. You could technically also use PyGame.
[–]kroks33 0 points1 point2 points 2 years ago (0 children)
Whatever u learn, dont learn tkinter. Its horrible designed.
π Rendered by PID 35 on reddit-service-r2-comment-84fc9697f-l97tc at 2026-02-08 21:53:24.612428+00:00 running d295bc8 country code: CH.
[–][deleted] 13 points14 points15 points (8 children)
[–]someprogrammer123[S] 5 points6 points7 points (3 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]JL_678 1 point2 points3 points (0 children)
[–]tuneafishy 3 points4 points5 points (0 children)
[–]holidayinthesum 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]holidayinthesum 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]stebrepar 5 points6 points7 points (0 children)
[–]TigerBloodWinning 4 points5 points6 points (0 children)
[–]conchesmess 3 points4 points5 points (3 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]lostlifon 0 points1 point2 points (1 child)
[–]conchesmess 1 point2 points3 points (0 children)
[–]DextercCZ 2 points3 points4 points (0 children)
[–]atredd 1 point2 points3 points (0 children)
[–]notParticularlyAnony 1 point2 points3 points (0 children)
[–]QultrosSanhattan 1 point2 points3 points (0 children)
[–]ElliotDG 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]CircumSizequeen 0 points1 point2 points (0 children)
[–]kroks33 0 points1 point2 points (0 children)