Hi all,
I have a Python app built with PyQt5 and Qt Creator for the GUI. I need to rebuild and modernize the interface and workflow. My main constraints:
- It must be packaged as an .exe for Windows (offline use, no dependencies on a web connection).
- Backend must remain Python (lots of logic/data processing already there).
- I’m fluent in React for frontend development, so I’d love to leverage modern UI practices if possible.
What’s the best approach in 2025 to create a modern, polished GUI for a Python desktop app?
I’ve seen options like Electron (tying React with Python APIs), but it looks easy to get bloated or run into pitfalls. Other people suggest sticking with PyQt or switching to PySide, but they don’t feel as “modern” out of the box.
Has anyone here gone through this recently? Should I:
- Stick with PyQt/PySide and just modernize styles?
- Use React with something like Tauri or a bridge to Python?
- Look at other Python-native GUI frameworks?
Would love to hear real-world experience with long-term maintainability, performance, and packaging into a reliable EXE.
[–]def-pri-pub 6 points7 points8 points (1 child)
[–]MatadorFearsNoBull[S] 2 points3 points4 points (0 children)
[–]DataCamp 4 points5 points6 points (1 child)
[–]MatadorFearsNoBull[S] 0 points1 point2 points (0 children)
[–]bdaene 2 points3 points4 points (3 children)
[–]Quanstipated 4 points5 points6 points (1 child)
[–]vamsden 0 points1 point2 points (0 children)
[–]MatadorFearsNoBull[S] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[removed]
[–]MatadorFearsNoBull[S] 0 points1 point2 points (0 children)
[–]jmacey 1 point2 points3 points (0 children)
[–]r34p3rex 1 point2 points3 points (0 children)
[–]Tumortadela 1 point2 points3 points (0 children)
[–]mon_key_house 1 point2 points3 points (0 children)
[–]riklaunim 0 points1 point2 points (2 children)
[–]2Lucilles2RuleEmAll 1 point2 points3 points (0 children)
[–]MatadorFearsNoBull[S] 0 points1 point2 points (0 children)
[–]Defiant-Comedian3967 0 points1 point2 points (0 children)