2013-04-22 36 views
0

起初,我正在运行的系统中嵌入:Enthought Mayavi的与WX问题

我的wxPython 2.9.4.0一起使用Windows 8 Pro和Mayavi的4.3从仓库处的的Python 2.7.4,但也有同样的问题与Mayavi的4.2 .1环保署包...

当我尝试编写Mayavi使嵌入到笔记本电脑面板,我得到一些问题UI。即使在来自mayavi的演示文件中,我也得到了mayavi生成的外部帧的奇怪行为。

一个设置窗口将打开,以便使用设置按钮。此外,场景对使用设置更改的参数作出反应。但是在点击确定或天使之后,窗口不会关闭。和python回馈几条错误消息。当我使用管道通过实现mlab.show_pipeline()命令时,出现了一个类似的行为。

这behaivior是可以在sample from the enthought web page也被发现。

在这里,您可以尝试在enthougth例子的设置框单击确定后,看到我的错误信息:

C:\my_directory\>python wx_embedding.py 
C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\wx\toolkit.py:35: wxPyDeprecationWarning: Using deprecated class PySimpleApp. 
_app = wx.PySimpleApp() 

wx_embedding.py:63: wxPyDeprecationWarning: Using deprecated class PySimpleApp. 
app = wx.PySimpleApp() 

Traceback (most recent call last): File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\wx\ui_live.py", line 360, in _on_ok 
self.close(wx.ID_OK) 

File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\wx\ui_live.py", line 320, in close 

ui.finish() 
File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\ui.py", line 264, in finish 

self.reset(destroy = True) 
File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\ui.py", line 304, in reset 
editor.dispose() 
File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\wx\instance_editor.py", line 208, in dispose 
self._ui.dispose() 

File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\ui.py", line 237, in dispose 
self.finish() 
File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\ui.py", line 264, in finish 
self.reset(destroy = True) 

File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\ui.py", line 318, in reset 
toolkit().destroy_children(self.control) 
File "C:\Python27\lib\site-packages\enthougth_development_mayavi_git\traitsui\traitsui\wx\toolkit.py", line 474, in destroy_children 
control.DestroyChildren() 

File "C:\Python27\lib\site-packages\wx-2.9.4-msw\wx\_core.py", line 9203, in DestroyChildren 
return _core_.Window_DestroyChildren(*args, **kwargs) 
wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at . .\..\src\common\wincmn.cpp(468) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed 

在此先感谢

回答

1

Mayvi不能与WX 2.9兼容。

此处了解详情:https://support.enthought.com/entries/22601196-wxPython

请使用enpkg恢复到宽x 2.8附带的EPD。

+0

乔纳森 - 我使用wxPython 3.0获得了与Stephan相同的行为。根据这个答案,我回到了wx 2.8,但我仍然看到相同的行为? – brettb 2016-03-01 14:15:26

+0

大约3年前,这个答案是针对mayavi的一个长期过时的版本。我建议你发布一个新问题,包括所有相关的版本和操作系统信息,并回顾这个问题。 – 2016-03-01 17:32:33