【发布时间】:2018-10-07 21:27:51
【问题描述】:
我到处搜索如何使用 python 简单地将 Kivy 应用程序的背景设置为图像,拉伸以适合屏幕 - 唯一需要注意的是,我不能轻易地使用 kv 文件来做到这一点而无需返工应用程序的大部分。我发现与此有关的任何事情都只会导致背景没有变化或出现无数错误。有什么方法可以轻松做到这一点?
【问题讨论】:
我到处搜索如何使用 python 简单地将 Kivy 应用程序的背景设置为图像,拉伸以适合屏幕 - 唯一需要注意的是,我不能轻易地使用 kv 文件来做到这一点而无需返工应用程序的大部分。我发现与此有关的任何事情都只会导致背景没有变化或出现无数错误。有什么方法可以轻松做到这一点?
【问题讨论】:
在您的 App 类中,添加方法:
def set_background(self, *args):
self.root_window.bind(size=self.do_resize)
with self.root_window.canvas.before:
self.bg = Rectangle(source='someImage.png', pos=(0,0), size=(self.root_window.size))
def do_resize(self, *args):
self.bg.size = self.root_window.size
然后,在您的 build() 方法中添加:
Clock.schedule_once(self.set_background, 0)
【讨论】: