2013-04-22 70 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