-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MAINT: Offload GUI abstraction #11990
Comments
While we're at it, I've also used In principle we could see how difficult it would be to add it as a new 3D backend. Right now PyVistaQt isn't maintained super well, and the interactions between PyVistaQt and PyVista cause problems fairly regularly. In |
|
I think something like https://vedo.embl.es/docs/vedo/mesh.html#Mesh.isolines is probably what we'd want |
oh yeah! neat. |
No strong feeling here. Whatever works ! |
In ~150 lines we can get widgets + PyVista + matplotlib in a reasonable layout (no events hooked up yet, incomplete widgets, too), with MNE's
Cross-ref pyapp-kit/magicgui#593 (comment) |
👀 👀 👀 👀 !
… Message ID: ***@***.***>
|
@alexrockhill and now @wmvanvliet have raised issues about the complexity of our GUI backend abstraction. TL;DR is that it works most of the time for what we already have (brain and coreg I think), but can be very difficult to add new stuff.
I went looking for an abstraction layer for Qt/ipywidgets and it looks like there is one:
https://github.com/pyapp-kit/magicgui
It's MIT licensed, actively developed, and available on PyPI and conda-forge. One disadvantage is that it looks like it has a truck factor of one. But with our expertise maybe we can become active contributors there instead of just in our own code!
I'm tempted to take a look at look in the coming weeks at how it works and see if I can fairly easily get a
pyvistaqt.BackgroundPlotter
in when it's Qt and a trame-backendpyvista.Plotter
when it's in notebook with some interaction.EDIT: Might also take care of #11027
The text was updated successfully, but these errors were encountered: