https://bugs.kde.org/show_bug.cgi?id=409288
--- Comment #4 from vialav <d...@bk.ru> --- ```python from traits.etsconfig.api import ETSConfig ETSConfig.toolkit = 'wx' ``` #https://stackoverflow.com/questions/52930781/qt-api-environment-variable ```python import os os.environ["QT_API"] = "pyqt5" ``` To manipulate it from under Python(s) without a restart. Setting ETSConfig.toolkit = 'wx' under Python 3 + VTK 8 + Mayavi 4.7.0 (compiled from sources + `apptools` fix) actually does work under IDLE and **not** under Cantor (see below), but not under Python 2 + VTK 6. ```python from traits.etsconfig.api import ETSConfig ETSConfig.toolkit = 'wx' # Create the data. from numpy import pi, sin, cos, mgrid dphi, dtheta = pi/250.0, pi/250.0 [phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta] m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4; r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7 x = r*sin(phi)*cos(theta) y = r*cos(phi) z = r*sin(phi)*sin(theta) # View it. from mayavi import mlab s = mlab.mesh(x, y, z) mlab.show() ``` /usr/lib/python3/dist-packages/pyface/ui/wx/clipboard.py:25: wxPyDeprecationWarning: Call to deprecated item. Use wx.DataFormat instead. PythonObjectFormat = wx.CustomDataFormat('PythonObject') /usr/lib/python3/dist-packages/pyface/wx/drag_and_drop.py:99: wxPyDeprecationWarning: Call to deprecated item. Use wx.DataFormat instead. PythonObject = wx.CustomDataFormat('PythonObject') /usr/lib/python3/dist-packages/pyface/ui/wx/action/action_item.py:378: wxPyDeprecationWarning: Call to deprecated item. Use :meth:`AddTool` instead. self.control_id, label, bmp, wx.NullBitmap, kind, tooltip, longtip, None /usr/lib/python3/dist-packages/pyface/ui/wx/action/action_item.py:396: wxPyDeprecationWarning: Call to deprecated item __call__. Use :meth:`EvtHandler.Bind` instead. wx.EVT_TOOL(parent, self.control_id, self._on_tool) Traceback (most recent call last): File "", line 19, in File "/usr/lib/python3/dist-packages/mayavi/tools/helper_functions.py", line 37, in the_function return pipeline(*args, **kwargs) File "/usr/lib/python3/dist-packages/mayavi/tools/helper_functions.py", line 77, in __call__ scene = tools.gcf().scene File "/usr/lib/python3/dist-packages/mayavi/tools/figure.py", line 117, in gcf return figure(engine=engine) File "/usr/lib/python3/dist-packages/mayavi/tools/figure.py", line 69, in figure engine.new_scene(name=name, size=size) File "/usr/lib/python3/dist-packages/apptools/scripting/recordable.py", line 45, in _wrapper result = func(*args, **kw) File "/usr/lib/python3/dist-packages/mayavi/core/engine.py", line 452, in new_scene viewer = self.scene_factory(**factory_kwargs) File "/usr/lib/python3/dist-packages/mayavi/core/ui/mayavi_scene.py", line 89, in viewer_factory viewer.open() File "/usr/lib/python3/dist-packages/pyface/i_window.py", line 202, in open self._create() File "/usr/lib/python3/dist-packages/pyface/ui/wx/application_window.py", line 140, in _create contents = self._create_contents(self.control) File "/usr/lib/python3/dist-packages/tvtk/tools/ivtk.py", line 406, in _create_contents self.scene = self._scene_factory(parent) File "/usr/lib/python3/dist-packages/mayavi/core/ui/mayavi_scene.py", line 68, in mayavi_scene_factory s = MayaviScene(parent, stereo=p['stereo']) File "/usr/lib/python3/dist-packages/tvtk/pyface/ui/wx/decorated_scene.py", line 69, in __init__ super(DecoratedScene, self).__init__(parent, **traits) File "/usr/lib/python3/dist-packages/tvtk/pyface/ui/wx/scene.py", line 285, in __init__ super(Scene, self).__init__(parent, **traits) File "/usr/lib/python3/dist-packages/tvtk/pyface/tvtk_scene.py", line 222, in __init__ self.control = self._create_control(parent) File "/usr/lib/python3/dist-packages/tvtk/pyface/ui/wx/decorated_scene.py", line 107, in _create_control self._sizer.Layout() wx._core.wxAssertionError: C++ assertion "m_widget" failed at ../src/gtk/window.cpp(2857) in DoSetSize(): invalid window Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f: FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_cantor_python3server.1000.crash' Original exception was: Traceback (most recent call last): File "", line 19, in File "/usr/lib/python3/dist-packages/mayavi/tools/helper_functions.py", line 37, in the_function return pipeline(*args, **kwargs) File "/usr/lib/python3/dist-packages/mayavi/tools/helper_functions.py", line 77, in __call__ scene = tools.gcf().scene File "/usr/lib/python3/dist-packages/mayavi/tools/figure.py", line 117, in gcf return figure(engine=engine) File "/usr/lib/python3/dist-packages/mayavi/tools/figure.py", line 69, in figure engine.new_scene(name=name, size=size) File "/usr/lib/python3/dist-packages/apptools/scripting/recordable.py", line 45, in _wrapper result = func(*args, **kw) File "/usr/lib/python3/dist-packages/mayavi/core/engine.py", line 452, in new_scene viewer = self.scene_factory(**factory_kwargs) File "/usr/lib/python3/dist-packages/mayavi/core/ui/mayavi_scene.py", line 89, in viewer_factory viewer.open() File "/usr/lib/python3/dist-packages/pyface/i_window.py", line 202, in open self._create() File "/usr/lib/python3/dist-packages/pyface/ui/wx/application_window.py", line 140, in _create contents = self._create_contents(self.control) File "/usr/lib/python3/dist-packages/tvtk/tools/ivtk.py", line 406, in _create_contents self.scene = self._scene_factory(parent) File "/usr/lib/python3/dist-packages/mayavi/core/ui/mayavi_scene.py", line 68, in mayavi_scene_factory s = MayaviScene(parent, stereo=p['stereo']) File "/usr/lib/python3/dist-packages/tvtk/pyface/ui/wx/decorated_scene.py", line 69, in __init__ super(DecoratedScene, self).__init__(parent, **traits) File "/usr/lib/python3/dist-packages/tvtk/pyface/ui/wx/scene.py", line 285, in __init__ super(Scene, self).__init__(parent, **traits) File "/usr/lib/python3/dist-packages/tvtk/pyface/tvtk_scene.py", line 222, in __init__ self.control = self._create_control(parent) File "/usr/lib/python3/dist-packages/tvtk/pyface/ui/wx/decorated_scene.py", line 107, in _create_control self._sizer.Layout() wx._core.wxAssertionError: C++ assertion "m_widget" failed at ../src/gtk/window.cpp(2857) in DoSetSize(): invalid window -- You are receiving this mail because: You are watching all bug changes.