如何通过按按钮关闭Kivy应用程序窗口?

时间:2019-08-04 22:37:40

标签: python-3.x kivy

我正在使用Pygame在Python中制作蛇游戏,并且我想使用Kivy Framework添加菜单屏幕。我在中间有一个“播放”按钮,当我单击它时,我想关闭kivy窗口,但不关闭Python程序,因为我希望在单击该按钮后运行游戏。

我已经尝试过使用app.stop(),但这只能清除kivy窗口,而窗口位于那里,覆盖了屏幕。

1 个答案:

答案 0 :(得分:1)

on_request_close 绑定到调用 Window.close()(以及其他退出脚本)的函数。

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.gridlayout import GridLayout

class GameApp(App):
       
    def build(self):
        return MenuScreen()

class MenuScreen(GridLayout):

    def __init__(self, **kwargs):
        super(MenuScreen, self).__init__(**kwargs)   
        Window.bind(on_request_close=self.end_func)

    def end_func(self, *args):
        app.stop()
        Window.close()