带wx问题的热心Mayavi嵌入

2024-10-03 11:13:17 发布

您现在位置:Python中文网/ 问答频道 /正文

一开始我的运行系统:

我使用存储库中的windows8pro和Mayavi 4.3以及python2.7.4中的wxpython2.9.4.0,但EPD包中的Mayavi 4.2.1也有同样的问题。。。在

当我试图将mayavi嵌入笔记本面板时,UI出现了一些问题。即使在mayavi的演示文件中,我也得到了mayavi生成的外部帧的相同奇怪行为。在

因此,使用“设置”按钮a,将打开“设置”窗口。同时,场景会对我使用设置更改的参数做出反应。但单击“确定”或“香奈儿”后,窗口不会关闭。python会返回几个错误消息。当我使用管道时mlab.show_管道()命令。在

此行为也可以在sample from the enthought web page上找到。在

在这里,您可以看到我在第三个示例的设置框中单击“确定”后出现的错误消息:

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

提前谢谢


Tags: inpygituilibpackageslinesite
2条回答

至少可以通过与此PR相关联的更改来解决此特殊异常:https://github.com/enthought/traitsui/pull/108。我还不知道Mayavi和栈的其他部分,但这种改变至少会让traitsui与wxpython2.9一起工作。在

Mayvi与wx 2.9不兼容。在

更多信息:https://support.enthought.com/entries/22601196-wxPython

请使用enpkg恢复为随EPD提供的wx 2.8。在

相关问题 更多 >