首页 > 解决方案 > 删除最后一个窗口配置

问题描述

我有两个 .py 逻辑文件,它们与两个不同的 .kv 模板文件相关联。在第一个逻辑中,我将窗口配置设置为:

Config.set('graphics', 'width', '720')
Config.set('graphics', 'height', '360')
Config.set('graphics', 'resizable', False)
Config.set('graphics', 'fullscreen', 'fake')

简而言之,在第一个逻辑文件的最后一个过程中。我破坏了kivy主循环:

Clock.schedule_once(lambda dt: App.get_running_app().stop(), 0.1)

转到下一行,即下一个逻辑文件。我试图在下一个逻辑文件中进行新设置:

Config.set('graphics', 'width', '920')
Config.set('graphics', 'height', '480')
Config.set('graphics', 'resizable', False)

但似乎 Windows 配置遵循第一个逻辑文件中的第一个配置。有没有办法删除第一个配置?

标签: python-2.7kivykivy-language

解决方案


解决方案 - 使用 Window.size

由于唯一的变化是窗口的宽度和高度,一个替代方法是使用Window.size,并且您不必停止您的 Kivy 应用程序。

代替

Config.set('graphics', 'width', '920')
Config.set('graphics', 'height', '480')
Config.set('graphics', 'resizable', False)

    from kivy.core.window import Window

    Window.size = (920, 480)

笔记:

将它放在调用第二个逻辑之前。

应用配置

为了避免在创建窗口之前配置设置不起作用或未应用的情况(例如设置初始窗口大小),应在导入任何其他 Kivy 模块之前使用 Config.set。理想情况下,这意味着在 main.py 脚本的开头设置它们。


推荐阅读