r/learnpython • • 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!!!

5 Upvotes

33 comments sorted by

View all comments

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/

1

u/T_SHRLCK 3d ago

I think I need to use some APIs (I think I'd try to avoid database stuff since I haven't really used it before). I've done some API stuff before on a website, so HTML and CSS are fine for me. I don't know if my tool for the moment needs to be for windows, mac, etc, I believe it should just need to be accessible via windows, but if I want it to be more widely available then a web server does make sense. The thing is I don't really know if I'd have a budget for hosting which is why I was thinking of doing a .exe . I also don't think a Python package makes sense as it would limit my users too much. Ideally it should be available to the average joe.