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.

Reply via email to