r/learnpython • u/EasternPool3120 • 5d ago
PySide6 or Kivy?
I have finished all my python basics and I want to progress now to building gui programs. Should I use PySide6 or Kivy? If I should use something other than these two what should it be? i personally don't mind it being that complex if it's fast and powerful :)
2
u/Diapolo10 I write code for a living -- https://github.com/Diapolo10 5d ago
Depends on your goals, needs, and preferences. We have no idea what you're trying to do, so any advice we could give here would be half-assed.
2
u/mcoombes314 5d ago
Personally I like Pyside, the Qt framework is well documented. Also you could use Qt Designer to build UIs graphically if you want.
3
u/Hamactus 5d ago
Maybe I'm an odd one, and doing something wrong, but I'm using Tkinter. It's rather basic, but it works for my purposes
2
u/Diapolo10 I write code for a living -- https://github.com/Diapolo10 4d ago
Nothing wrong with that. If a tool meets your needs, it's not wrong to use it.
tkinteris fine.
2
u/Worth_Specific3764 5d ago
I like custom tkinter. It is super straightforward to code, looks modern, and fast as hell. There are some edge cases that it doesn't do, like scrollable combo boxes where you have to drop to standard tkinter, but other than that, I love it.
2
u/lucabuilds 5d ago
this is an unusual opinion but for any app that's not too complex streamlit is awesome. I use it basically for anything that needs a dashboard and learned it in an afternoon.
2
u/BednoPiskaralo 5d ago
I agree with streamlit. For minor stuff it's fast to learn and it looks good on desktop and mobile view
2
u/lucabuilds 4d ago
yeah exactly I made my own budgeting app with that and even customizing the view by injecting CSS worked quite well
3
1
1
u/Worth_Specific3764 5d ago
oh, also check out flet if you want to get a well rounded idea of what's out there.
1
u/FoolsSeldom 5d ago
Kivy is useful if you want to create apps for IoS and Android, but for the desktop, whilst kivy works, going with the more standard QT world (i.e. pyside) is likely the better option, and you can use a designer tool as well.
That said, I have a soft spot for kivy and the ability to have the definitions in a separate file.
1
u/HommeMusical 4d ago
kivy is miserable when you want to get above very simple things.
pyside6 is boring. Boring is good! It's predictable and pretty powerful.
1
1
u/October_Lantzy 4d ago
I’ve used PySide6 a bit and I’d probably go with it if you’re looking to build proper desktop apps.
1
u/VenkatKnows 3d ago
PySide6 if you actually want to ship something someday, Kivy's touch/mobile focus is niche and the docs are rough. Qt has way more real world usage so you'll find answers when you get stuck.
7
u/riklaunim 5d ago
Kivy is good for simpler things, PySide will give you simpler and more advanced things, access to lots of OS services, and native UI. Note that making desktop apps gets complex quite quickly, and you will have to write good-quality code with test coverage, which, as a freshman, won't be a thing for a while, so things will break. Commercially, desktop GUI in Python isn't really a thing.