首页 > 解决方案 > Kivy GUI 在打开 Mayavi 窗口后中断

问题描述

我有一个 Kivy GUI,它应该在按下相应的按钮后打开一个 Mayavi 3D 绘图窗口。绘图工作得很好,但在关闭 Mayavi 窗口后,主 GUI 仍然没有响应,并且绘图按钮卡住了。具有讽刺意味的是,被卡住的按钮是唯一通过再次生成相同的情节来响应任何事情的元素。其他 GUI 元素不响应任何内容,此外,在调整窗口大小时,GUI 元素不再缩放。

这个问题可以用这个最小的 Python 脚本重现:

from kivy.app import App
from kivy.uix.button import Button
from mayavi import mlab

class MyApp(App):

    def show(self, _=None):
        mlab.test_contour3d()
        mlab.show()

    def build(self):
        btn1 = Button(text='Oh hai', size_hint=(0.5, 0.5))
        btn1.bind(on_release=self.show)
        return btn1


MyApp().run()

它仍然卡住了。我也尝试使用 Vispy 制作情节,但失败机制没有什么不同。任何想法表示赞赏。

标签: pythonkivykivy-languagemayavimayavi.mlab

解决方案


推荐阅读