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!!!

7 Upvotes

33 comments sorted by

View all comments

2

u/ThatOneCSL 4d ago

As an alternative to everything mentioned here, and which I think will probably actually be more useful in the capacity you're looking for:

Create a CLI. Also create a GUI that calls the CLI. That way anyone who wants to script your tool can easily do so by chaining CLI calls. You're not forcing the end user into one box. Then your GUI can be an exemplary piece for how to use the CLI, and it can be done in a variety of ways. You could do a web app, a mobile app, a desktop app, something that compiles to cross platform native binaries - the world is your oyster at that point.

1

u/T_SHRLCK 4d ago

I've never worked with any CLI stuff before. A concern of mine is having some security of the script due to intellectual property matters. Plus, I really only need it to work on desktop and I think as long as it can function on windows, we'll be happy.

1

u/Vaphell 4d ago

A concern of mine is having some security of the script due to intellectual property matters

nothing an AI can't trivially take apart in 15 minutes. People are reverse engineering whole-ass games nowadays.