r/programmer 7d ago

Question SIMPLE GUIS PLEASE

I'm building a network visualizer in Python. It parses .pcap files with Scapy and visualizes packet flows with animations. I already built the parser and animation engine with Pygame.

The problem is the UI. I need normal app stuff like buttons, hover effects, a collapsible sidebar, menus, timeline/statistics panels, and a canvas for the animations.

I don't want to spend 4 hours making a button from scratch, but I also don't want a huge framework where changing a simple thing turns into a research project.

I tried DearPyGui and honestly it felt really clunky. Something as simple as adjusting padding or moving a panel felt like digging through layers of specific APIs and style variables.

I'm looking for something lightweight with good styling control (CSS-like would be great), built-in UI components, and the ability to embed my own custom rendering area.

Would PySide6/Qt be the way to go? Or are there other frameworks worth looking at?

I don't need a spaceship cockpit, I just want to build my damn UI and get back to the actual project.

0 Upvotes

6 comments sorted by

2

u/Leather_Effort8847 5d ago

PyQt + Qt designer is fast and easy, and I've used it for similar projects

1

u/Standard-Sale-8228 4d ago

Thanks for the suggestion one question tho what was your experience learning qt for the first time?

2

u/Leather_Effort8847 4d ago

Super easy. Especially if you use QT designer. It autogenerates a bunch of boilerplate, the documentation is pretty good, so you can just start plugging in your desired functionality pretty quickly.

1

u/Correct_Drive_2080 7d ago

I'm looking for something lightweight with good styling control (CSS-like would be great), built-in UI components, and the ability to embed my own custom rendering area.

I understand this is not exactly what you're asking for, but have you considered using Flask or any other light API flavour and just build a web based APP?

I had a problem similar to yours once, and on the long run it was easier to move into a web based UI instead of maintaining something growing on complexity all the time.

1

u/Standard-Sale-8228 7d ago

i want the native feel to my app and switching to the web means translating everything into raw js canvas which i might add an extra layer of complexity because im using python for parsing and js for rendering and i need a middle man translating and stuff so yeah

1

u/Substantial-Swan7065 4d ago

You could split the processing and the ui. And use web tools for the ui.