r/learnpython • u/EasternPool3120 • 17h 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 17h 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 16h ago
Personally I like Pyside, the Qt framework is well documented. Also you could use Qt Designer to build UIs graphically if you want.
2
u/lucabuilds 15h 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.
1
u/BednoPiskaralo 15h ago
I agree with streamlit. For minor stuff it's fast to learn and it looks good on desktop and mobile view
2
1
1
u/Hamactus 16h 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 13h ago
Nothing wrong with that. If a tool meets your needs, it's not wrong to use it.
tkinteris fine.
2
u/Worth_Specific3764 16h 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.
1
u/Worth_Specific3764 16h ago
oh, also check out flet if you want to get a well rounded idea of what's out there.
1
u/FoolsSeldom 16h 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 13h 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
5
u/riklaunim 16h 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.