3 ms·
> was wxWidgets 3 not out when you were playing with it last? I don't think so, I think 2 was the latest version I worked with. > why not run the non-UI tasks
by pdonis 3y ago
> was wxWidgets 3 not out when you were playing with it last?
I don't think so, I think 2 was the latest version I worked with.
> why not run the non-UI tasks in a separate thread and send events between the two to communicate?
Sure, you can do that, if you're willing to deal with all the extra complications involved with having multiple threads and coordinating between them. For some applications that's necessary, but in many cases none of the events, either GUI or network I/O, require CPU intensive responses, so you don't need separate threads for performance, and having them all in one event loop makes the code a lot simpler.
- LoganDark 3y ago> Sure, you can do that, if you're willing to deal with all the extra complications involved with having multiple threads and coordinating between them. For some applications that's necessary, but in many cases none of the events, either GUI or network I/O, require CPU intensive responses, so you don't need separate threads for performance, and having them all in one event loop makes the code a lot simpler. This is weird. Having the worker thread separate from the UI thread is a good separation of concerns regardless of whether you need the thread for performance or not. I don't remember if wxWidgets 2 even had message passing between threads, though. I'd invite you to try wxWidgets 3, it seems to have changed a lot (for the better).
- pdonis 3y ago> Having the worker thread separate from the UI thread is a good separation of concerns regardless of whether you need the thread for performance or not. It can be, but it has a cost in code complexity. Sometimes that cost isn't worth paying. > I'd invite you to try wxWidgets 3 Yes, it sounds like it's worth me taking a look. I have a Python GUI package [1] that right now only supports Qt 5 in its latest version; it would be nice to put wx support back in. [1] https://pypi.org/project/plib3.ui/ https://pypi.org/project/plib3.ui/
- pdonis 3y ago> try wxWidgets 3 Update from my previous post: I took a look at release dates and wxWidgets 3 was available as far back as 2013, so that is the version my comments were based on (wxPython's version 4 series is the latest that's based on wxWidgets 3, that version of wxPython is the latest I've tested with).