将mayavi嵌入pyqt5时出错

2024-06-25 22:47:32 发布

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

我有一个mayavi图,我想嵌入到一个用pyqt5制作的gui中。奇怪的是,有时它是有效的,我得到的图形用户界面,包括情节运行,有时不运行。然后我得到一个错误:

runfile('C:/Users/xxx/Desktop/gui_mayavi.py', wdir='C:/Users/xxx/Desktop')
Traceback (most recent call last):

  File "<ipython-input-5-9addd1570dd6>", line 1, in <module>
    runfile('C:/Users/xxx/Desktop/gui_mayavi.py', wdir='C:/Users/xxx/Desktop')

  File "C:\Users\xxx\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "C:\Users\xxx\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/xxx/Desktop/gui_mayavi.py", line 23, in <module>
    from traitsui.api import View, Item

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\api.py", line 36, in <module>
    from .editors.api import ArrayEditor

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\editors\__init__.py", line 23, in <module>
    from .api import ArrayEditor

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\editors\api.py", line 24, in <module>
    from .code_editor import CodeEditor

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\editors\code_editor.py", line 37, in <module>
    class ToolkitEditorFactory(EditorFactory):

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\editors\code_editor.py", line 49, in ToolkitEditorFactory
    mark_color = Color(0xECE9D8)

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traits\traits.py", line 522, in __call__
    return self.maker_function( *args, **metadata )

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traits\traits.py", line 1236, in Color
    return ColorTrait( *args, **metadata )

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\toolkit_traits.py", line 8, in ColorTrait
    return toolkit().color_trait(*args, **traits)

  File "C:\Users\xxx\Anaconda3\lib\site-packages\traitsui\toolkit.py", line 109, in toolkit
    _toolkit = find_toolkit('traitsui.toolkits')

  File "C:\Users\xxx\Anaconda3\lib\site-packages\pyface\base_toolkit.py", line 263, in find_toolkit
    return import_toolkit(ETSConfig.toolkit, entry_point)

  File "C:\Users\xxx\Anaconda3\lib\site-packages\pyface\base_toolkit.py", line 209, in import_toolkit
    raise RuntimeError(msg)

RuntimeError: No traitsui.toolkits plugin found for toolkit qt5

当它工作时,我关闭Spyder(Python3.6)并再次打开它并尝试运行代码时,它突然不起作用了。我试图把pyqt5降级到pyqt4,但没用。在我重新安装pyqt5之后,它突然起作用了。但当我关上spyder再打开它就没用了。我尝试的代码是:

^{pr2}$

Tags: inpyimportlibpackageslinesitetoolkit