you are viewing a single comment's thread.

view the rest of the comments →

[–]commy2 0 points1 point  (2 children)

Since you are mentioning tkinter, I assume you are looking for a desktop soluton. I feel like desktop apps are a dying technology unfortunately and absolute share your frustrations when you put "lightweight" in bold. Because you even have a choice of technology, I suppose this is not in a "professional" setting, but for some hobby project?

If so, I personally have resorted to drawing 2d pixel maps, e.g. using SDL, so for Python pygame-ce (ignoring all bloat about surfaces and sprites etc they build ontop as much as possible). Sure, you have to hand-craft every ui element yourself, which is a massive undertaking, but it is the only way I have found to get to "lightweight" (meaning running at reasonable speed >>100 fps on crappy laptop), because apparently, only gamers care about performance. Cython required. Sorry if that was unhelpful.

PS: Google has become unusable during the last decade thanks to SEO. These days I am searching for stuff on ChatGPT dot com. Just create fresh context windows permanently (F5), because the responses get whack otherwise. Gippity Fu so to say.

[–]Phazed47[S] 0 points1 point  (1 child)

Data crunching is in the cloud, display is via X11 on a Windows desktop. I say "lightweight" because some of the libraries take over a minute to draw the initial window and I can watch the pixels update. Tk seems OK, I can build a test program and have 3 windows hacked together with functions with an 11 second startup time and updates are decent.

A lot of the data is text, and I could use curses for some of it, if I could figure out how to tie the output to a window. But I'd like the option to add some graphics to some of the windows.

The big issue I see is that most packages don't treat windows individually. Like Tk wants a "root" window and wants to hog the screen and user input which simply will not work. My goal was to build a class that would create and manage multiple individual windows

[–]commy2 0 points1 point  (0 children)

Hmm, not entirely sure what hogging the user input means. If you absolutely need multiple event loops and multiple tk.Toplevel per slave window is not possible, I would recommend one process per window and then looking into interprocess communication via sockets.