У меня есть графический интерфейс Kivy, который должен открывать окно 3D-графика Mayavi после нажатия соответствующей кнопки. Сюжет работает просто отлично, но после закрытия окна Mayavi основной графический интерфейс пользователя не отвечает с застрявшей кнопкой построения. По иронии судьбы застрявшая кнопка - единственный элемент, который реагирует на что-либо, снова создавая тот же график. Другие элементы 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, но механизм отказов не отличался. Любые идеи приветствуются.