marcomusy / vedo

A python module for scientific analysis of 3D data based on VTK and Numpy

Home Page:https://vedo.embl.es

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

how to open multiple panels on one window ?

OhmPuchiss opened this issue · comments

Is there anyway to make the inset to be interactive ? (Accept the callback function)

You can try with

from vedo import *

plt = Plotter(bg2='bisque', size=(1000,800), interactive=False)

e = Volume(dataurl+"embryo.tif").isosurface()
e.normalize().shift(-2,-1.5,-2).c("gold")
plt.show(e, viewup='z')

ex = e.clone().scale(0.25).pos(0,0.1,0.1).alpha(0.1).lighting('off')
inset = plt.add_inset(Axes(ex), ex, pos=(0.1,0.1), size=0.15, draggable=1)

def ff(widget, evt_name):
    print("->>>", evt_name, [widget])
    plt.render()

inset.AddObserver("AnyEvent", ff)

plt.interactive().close()

Thank you so much. I saw that vedo can be integrated with Qt. Is it also able to integrate with PySide2 ?
P.S. I want to support vedo. Whaat can I do ?

You're welcome! I just checked vedo can work out of the box with pyside6, hopefully this is also true for pyside2.
Here is a minimal example:

from PySide6.QtWidgets import QApplication
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
import vedo

sphere = vedo.Sphere().lw(1)
axes = vedo.Axes(sphere)

app = QApplication([])
widget = QVTKRenderWindowInteractor()
plt = vedo.Plotter(qt_widget=widget, axes=14, bg2='blue9')

plt.add(sphere, axes)
plt.show(viewup='z')

widget.show()
app.exec()

I want to support vedo. Whaat can I do ?

You can do it at https://github.com/marcomusy
And of course any PR to improve the library is super-highly appreciated! :)