6 ms·
What solution did you end up switching to? I have a feeling that most python GUIs are lacking in some area and for full creative freedom someone would have to
by KeplerBoy 5y ago
What solution did you end up switching to?
I have a feeling that most python GUIs are lacking in some area and for full creative freedom someone would have to go for flask or fastapi, build the UI with modern js-frontend frameworks and connect that frontend with the actual application using websockets or regular HTTP-Requests.
- simonh 5y agoI’ve had great success using PyQt for quite sophisticated GUIs. Any of the native bindings should give good results too. I doubt JS would give you more flexibility and performance than these.
- scarygliders 5y agoI've been very happy with using Qt and PySide and now PySide2. Without it I couldn't have produced Captain's Log, for example : https://captainslog.scarygliders.net/captains-log-2/ https://captainslog.scarygliders.net/captains-log-2/
- barnabee 5y agoI have found DearPyGui [1] to be a really efficient way to knock up a quick GUI for a Python script/app. There's almost no boilerplate and I've found it scales reasonably well as things get more complex as it's easy to split views/"components" into modules and classes. [1] https://github.com/hoffstadt/DearPyGui https://github.com/hoffstadt/DearPyGui
- arpafaucon 5y agoFor most applications in my company, we prefer fastapi + Jinja to generate HTML pages, and rely on the browser to display that for us. For the few programs that need to be run locally & without browser, we use PySide2 (Qt bindings): the framework is bulkier, but somehow feels more reliable.
- BrandoElFollito 5y agoThis is exactly what happened with my home dashboard. The initial version, 5 or so years ago (maybe a bit more, I do not remember) was based on a python library (sorry, I forgot the name but it was the major one at the time). It worked fine for a bit but moving to a kiosk browser and vue.js completely changed the game. The backend was Python, then got replaced by a bus (mqtt) updated via golang microservices (they were in python initially, but then I wanted to learn go)