我正在用Kivy在raspi3上编写一个GUI,它运行得很好,但是现在我添加了一些“屏幕”,当返回到前一个屏幕时会崩溃。在
基本上,我希望能够进入其他三个屏幕(TCS、EPC、CT)中的任何一个,并能够返回到simulation。我可以进行模拟,然后再进入其中的任何一个屏幕,但单击return按钮会导致程序崩溃,并显示以下消息:
Traceback (most recent call last):
File "GUI.py", line 1329, in <module>
MainApp().run()
File "/usr/local/lib/python2.7/dist-packages/kivy/app.py", line 828, in run
runTouchApp()
File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 500, in runTouchApp
EventLoop.window.mainloop()
File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 90, in mainloop
self._mainloop()
File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 85, in _mainloop
EventLoop.idle()
File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 339, in idle
self.dispatch_input()
File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 324, in dispatch_input
post_dispatch_input(*pop(0))
File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 290, in post_dispatch_input
wid.dispatch('on_touch_up', me)
File "kivy/_event.pyx", line 718, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:8191)
File "/usr/local/lib/python2.7/dist-packages/kivy/uix/behaviors/button.py", line 179, in on_touch_up
self.dispatch('on_release')
File "kivy/_event.pyx", line 714, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:8146)
File "kivy/_event.pyx", line 1225, in kivy._event.EventObservers.dispatch (kivy/_event.c:14035)
File "kivy/_event.pyx", line 1109, in kivy._event.EventObservers._dispatch (kivy/_event.c:12816)
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py", line 64, in custom_callback
exec(__kvlang__.co_value, idmap)
File "<string>", line 540, in <module>
File "kivy/properties.pyx", line 423, in kivy.properties.Property.__set__ (kivy/properties.c:5572)
File "kivy/properties.pyx", line 461, in kivy.properties.Property.set (kivy/properties.c:6405)
File "kivy/properties.pyx", line 516, in kivy.properties.Property.dispatch (kivy/properties.c:7105)
File "kivy/_event.pyx", line 1225, in kivy._event.EventObservers.dispatch (kivy/_event.c:14035)
File "kivy/_event.pyx", line 1131, in kivy._event.EventObservers._dispatch (kivy/_event.c:13193)
File "/usr/local/lib/python2.7/dist-packages/kivy/uix/screenmanager.py", line 973, in on_current
self.transition.start(self)
File "/usr/local/lib/python2.7/dist-packages/kivy/uix/screenmanager.py", line 369, in start
self.add_screen(self.screen_in)
File "/usr/local/lib/python2.7/dist-packages/kivy/uix/screenmanager.py", line 505, in add_screen
self.fbo_out = self.make_screen_fbo(self.screen_out)
File "/usr/local/lib/python2.7/dist-packages/kivy/uix/screenmanager.py", line 469, in make_screen_fbo
fbo = Fbo(size=screen.size)
File "kivy/graphics/fbo.pyx", line 150, in kivy.graphics.fbo.Fbo.__init__ (kivy/graphics/fbo.c:3155)
File "kivy/graphics/instructions.pyx", line 754, in kivy.graphics.instructions.RenderContext.__init__ (kivy/graphics/instructions.c:11094)
File "kivy/graphics/shader.pyx", line 186, in kivy.graphics.shader.Shader.__init__ (kivy/graphics/shader.c:4152)
File "kivy/graphics/shader.pyx", line 695, in kivy.graphics.shader.Shader.vs.__set__ (kivy/graphics/shader.c:11550)
File "kivy/graphics/shader.pyx", line 557, in kivy.graphics.shader.Shader.build_vertex (kivy/graphics/shader.c:9283)
File "kivy/graphics/shader.pyx", line 587, in kivy.graphics.shader.Shader.link_program (kivy/graphics/shader.c:9736)
Exception: Shader didnt link, check info log.
完整代码在这里:https://github.com/ISS-Mimic/Mimic/blob/master/Pi/GUI.py
相关(我认为)片段:
^{pr2}$和kv代码:
^{3}$图形用户界面供参考:除了从EPS、TCS或CT返回(从模拟返回到主屏幕工作正常)外,每个屏幕都工作正常
任何帮助都将不胜感激。仅供参考,我对kivy和python还是新手,几乎不知道我在做什么。。。在
好吧,看来我是通过增加Pi上的视频内存分割来“解决”这个问题的。在
相关问题 更多 >
编程相关推荐