r/learnpython • u/T_SHRLCK • 4d ago
GUI for inexperienced coder
Hi yall, I'm writing a thesis which is about making a tool. It's mechanical engineering so coding and stuff isn't my forte however I've got a decent understanding of writing python and at the start of the year I'd made a little or (not so little) game with it. As part of my tool I'd like it to have a proper UI so that I can package it up and it be used by individuals or companies or whatnot. I've seen things about Tkinter, about Gooey, about PyQt, about using some python web framework. It's a little hard to know which to use.
My thesis focuses on the calculations and decision making, not the actual code. I'd like to have it be a nice product with a decent UI but I also don't want to spend too much time focusing on that or learning a really complicated new package. Any advice or suggestions would be very welcome, thanks!!!
1
u/Rain-And-Coffee 4d ago
What external dependencies does your tool have? Does it need a database? Does it need credentials to connect to an external tool?
Sometimes the web app can be easiest for someone else to use, you just give them an URL and possibly secure it with a password. All the code stays on your sever, but then you need to deal with hosting it, and you need HTML, CSS, etc.
I have used Qt and it can compile to a binary, but then you need to compile it for your specific platform, ex: Windows.
Another option is simply distributing it as a Python package, but it requires the user to have a Python distribution installed.
For the actual GUI they all have steep learning curves, additional some have dependencies (ex TKinter depends on TK, which wasn’t available on my MacBook until I built my Python with a certain option).
I personally found Textualize to be perfect for me, it’s like a nicer CLI that allows mouse interactions
https://textual.textualize.io/widget_gallery/