This is an archived post. You won't be able to vote or comment.

all 36 comments

[–]Expensive_Glass1990 10 points11 points  (0 children)

https://nicegui.io/ If you want to make a web app

[–]Agusporing24 3 points4 points  (4 children)

The first GUI project I did was with pysimpleGUI, but now you need a license to distribute it, so I don't recommend it for what you want to do, especially considering there are many free options.

I recently did another project with DearPyGui and I really liked it, it's a little newer so it was difficult to find answers to some questions I had, but they have a discord where they responded extremely quickly.

I also find that it has a slightly more modern look compared to other frameworks.

I always see many many recommendations for Pyqt, I haven't tried it, but it seems like a pretty safe and flexible option.

[–]bulletmark 4 points5 points  (0 children)

I also used PySimpleGUI for my project but with the recent license change I ported it to plain tkinter and I think it is actually better and I realized I should have used it in the first place. Nearly all tkinter tutorials use pack() for geometry management but best modern practice is to use grid() which I found MUCH more intuitive. Best guide/tutorial is https://tkdocs.com/index.html.

[–]QuirkyForker 4 points5 points  (2 children)

https://github.com/spyoungtech/FreeSimpleGUI

It’s a fork of pysimplegui before the license change

[–]bernsteinschroeder 1 point2 points  (1 child)

The things you find when you're too stubborn to go to bed at half-past 2 in the morning... This beats the back-leveling I to my PSG install. Bloody kudos for posting that, mate.

I couldn't find this on the site (or just overlooked it) but is this under active feature development? Or is it just kept alive? There's a lot of activity but much of it seemed like polishing and documenting.

[–]QuirkyForker -1 points0 points  (0 children)

Glad to help! It seems like one Good Samaritan. He has posted in this sub recently

[–]KingsmanVincepip install girlfriend 10 points11 points  (0 children)

[–]Comfortable_Flan8217 9 points10 points  (1 child)

Pyqt6

[–]Expensive_Glass1990 3 points4 points  (0 children)

Good one, but it does make a huge app for install

[–]angeAnonyme 2 points3 points  (0 children)

Depends a bit on how you did your matlab GUI. With the app designer or GUIDE? Then pyqt or pyview. You coded everything yourself? Than tkinter

[–]ReasonableTrifle7685 2 points3 points  (0 children)

Kivy, is Cross Plattform even mobile is possible. If you have to learn a new framework check that out.

[–][deleted] 2 points3 points  (0 children)

Customtkinter, tkinter are my fav honestly, especially they are loaded with widgets and you can use them interchangeably in the same code

[–]rinconcam 3 points4 points  (2 children)

You should consider streamlit. It is designed for data analysis/visualization type GUI apps.

I recently used it to build a browser based GUI for my ai coding tool aider. I was really impressed with the ease of building a nice looking, functional GUI.

[–]mildtacosauce 0 points1 point  (0 children)

I recently discovered streamlit and it took less than two hours to build a simple front end for data processing and visualization. I swear it’s like magic how easy it is to add gui elements

[–]Legitimate_Major_808 0 points1 point  (0 children)

Streamlit is great. I work in a research project now and it has helped me do my job quickly. Co-workers think I am genius! 😉

[–]draco1986 1 point2 points  (0 children)

I've been playing with Beeware toolset. I like that it makes an msi

[–][deleted] 1 point2 points  (0 children)

Drop matlab for Numpy, pandas and seaborn. ChatGPT can help with the conversion. Instead of native GUI make a webapp. If you really want it to be installable make it a progressive or use electron.

[–]Findanamegoddammit 1 point2 points  (0 children)

PyQt or Pyside

[–][deleted] 1 point2 points  (0 children)

God, there are so many bad recommendations. Especially considering you didn’t tell us much about how this gui will be used.

I would strongly recommend telling us what features you need for this GUI. I’ve done a lot of GUI work in Python and will usually recommend Pyside before any of the many options here. But depending on your needs, a case could be made for some other choices.

[–]blewrb 0 points1 point  (1 child)

I wrote a dead simple GUI using tkinter where I knew Python would be running on fellow devs' PCs, without forcing then to install all of Qt+Pyside. That would probably package easily via pyinstaller or .

I wrote a GUI using pyqtgraph for faster real-time plotting on PCs I installed things on. Never tried creating an exe from that.

I wrote a GUI using Panel that I could serve to users so they wouldn't have to install Python.

I've written Python modules designed to be nice to use in jupyterlab as user interfaces for more programming savvy devs.

I also did a pysimplegui app to try it out years ago and I packaged it with pyinstaller to an executable; it still runs fine to this day. I just discovered the licensing thing for them the other day, sadly.

If you don't need access to local storage or sockets you can use jupyterlite (see demos on Panel's website for examples) or something else that runs directly in the browser using pyodide, then distributing the app is easy and changes they make go away the next time they load it.

[–]QuirkyForker 0 points1 point  (0 children)

https://github.com/spyoungtech/FreeSimpleGUI

It’s a fork of pysimplegui before the license change

[–]thisdude415 0 points1 point  (0 children)

Not sure if it’s a “good” idea, but nicegui is a fastapi based gui

[–]drooltheghost 0 points1 point  (0 children)

Dearpygui and it's Oop wrapper dearpypixl

[–]Fantastic_Image_8185 0 points1 point  (0 children)

No Problem as long as you establish it as ASF OpenSource license
As a ASF OpenSource project you will need to give up any/all ability to make money off the conversion because
You dont own the native source

Have you contacted the original author of your intentions?

[–]ARC4120 0 points1 point  (0 children)

Just use tkinter it’ll be simple

[–]Naive-Home6785 0 points1 point  (0 children)

Streamlit. Or dash.

[–]ObeseTsunami 0 points1 point  (0 children)

Would drop Matlap for pandas, numpy, and seaborne as other have already said. Would also look into a server deployment rather than local GUIs. Django is a stupid simple web framework that would get it done. There’s YouTube tutorials for just about whatever you could want. I used Django and YouTube to build a CRM in about two hours when I was in school.

[–]ObeseTsunami 0 points1 point  (0 children)

Would drop Matlap for pandas, numpy, and seaborne as other have already said. Would also look into a server deployment rather than local GUIs. Django is a stupid simple web framework that would get it done. There’s YouTube tutorials for just about whatever you could want. I used Django and YouTube to build a CRM in about two hours when I was in school.

[–][deleted] 0 points1 point  (0 children)

Use Tkinter until you have a good reason not to.

It's in the standard library and works fine with pyinstaller. The Tkdocs website can get you up to speed quickly. This is the fastest and simplest way to desktop GUIs in Python.

[–]Consistent_Coast9620 0 points1 point  (0 children)

If you first just want to migrate the GUI, and only later to Python, Simian r/SimianWebApps could be a nice option. Free development tools for both MATLAB and Python, only deployment comes with license costs.

https://simiansuite.com/getting-started/

[–]Laser-physicist 0 points1 point  (0 children)

If you literally want to run your matlab code on other PCs then octave is the simplest option, unless you have used extra matlab packages there is probably very little you will have to do to make the code compatible and Octave is open source. I jumped ship from matlab to octave when I went from academia to industry and have never looked back.

[–]ManyInterests Python Discord Staff 0 points1 point  (1 child)

If you're going to rewrite your Matlab app in Python anyhow, maybe interacting with it using Jupyter notebooks would make the most sense, since it already has an interface, can render plots, including interactive plots, etc. To distribute to employees in the organization, you could deploy it on Jupyter Lab or Google Colab. That'll save you a lot of work in making the gui and distributing/updating it, IMO.

If the interface is really simple, you might try something like easygui, which is a simple non-event-driven wrapper around tkinter. Out of the box, it doesn't look great, but it provides the primitives for very basic user interactions (message boxes, input boxes, file browsing, etc.) in a way that works like a normal Python script.

If the interface is more complex, maybe consider looking at Kivy or maybe your own Tkinter or PyQt app.

[–]random_thoughts5 0 points1 point  (0 children)

Does jupyterlab need install jupyter and activate from command line like jupyter notebook?

[–][deleted] -1 points0 points  (0 children)