无法关闭Kivy应用或避免全屏

时间:2016-01-29 11:53:36

标签: python python-2.7 kivy

我是Kivy的新手并试图找到自己的方式。每当我创建和运行应用程序时,它都会显示为全屏,我无法在不断开电源的情况下关闭(我知道这不是理想的,但这正是我为什么要拼命修复它的原因!)。

建议工作的快捷方式(Esc,Ctrl + C,Ctrl + Alt + break)不要。我尝试在脚本开头更改配置设置,如下所示:

from kivy.config import Config
Config.set('graphics', 'fullscreen', 0)
Config.write()

我也试过主题的变体 - 0作为字符串,1作为整数和字符串(并尝试提供窗口的宽度和高度),但没有可感知的变化。即使这确实有效,但鉴于我可能希望最终能够全屏运行,这不是理想的解决方案!

鉴于每次我尝试改变某些东西,我都必须通过断开电源来重启pi,所以玩游戏非常耗时! 有没有人对我该如何进行有任何建议?

我目前正在使用:
Raspberry Pi 2 Model B连接到普通电视(许多人遇到问题一直使用触摸屏,但对我来说不是这样)

Raspbian Jessie,Linux 8
Python 2.7
我担心我不知道如何查看我下载的Kivy模块的详细信息。

我对此非常陌生,如果我没有设法提供所有相关信息,请道歉。

我正在尝试运行的完整代码(不包括上面的配置更改):

import kivy  
kivy.require('1.9.2') #may be part of the problem - not 100% sure this is correct 

from kivy.app import App  
from kivy.uix.label import Label  


class MyApp(App):  

    def build(self):  
        return Label(text='Hello world')  


if __name__ == '__main__':  
    MyApp().run()

2 个答案:

答案 0 :(得分:0)

作为临时解决方法,您可以这样做:

def build(self):
    button = Button(text = 'Exit', size_hint = (.1, .05),
                    pos_hint = {'x':0, 'y':0})
    button.bind(on_press = self.on_quit)
    self.layout = FloatLayout()
    self.layout.add_widget(button)

    return self.layout

def on_quit(self):
    exit()

哪个会为您提供退出按钮。对于您的全屏问题,这很奇怪,您能提供更多代码吗?

编辑:

你能试试吗? :

from kivy.config import Config
Config.set('graphics', 'borderless', 0)
Config.write()

答案 1 :(得分:0)

要解决此问题,您可以将全屏更改为假,以便kivy可以退出 Ctrl + C

from kivy.config import Config
Config.set('graphics', 'fullscreen', 'fake')
Config.write()

此外,尝试在命令行提示符下运行代码。在运行kivy应用程序时避免使用raspberry桌面环境。这将释放pi用于运行kivy的记忆。