繁体   English   中英

如何在 kivy 中将屏幕背景设置为图像

[英]How do I set the screen background to image in kivy

如何在此代码中将背景更改为图像而不使用任何.Kv 文件。 我想将屏幕背景设置为图像,但只看到带有.kv 文件的图像

import kivy
from kivy.app import App
from kivy.uix.floatlayout import Floatlayout
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.label import Label 


class LandingScreen(FloatLayout):
    def __init__(self, **kwargs):
        super(LandingScreen, self).__init__(**kwargs)

         self.score=0

        # put whatever pos_hint value you want.          
        self.add_widget(Label(text='SCORE: ' + str(score), size_hint=(0.5, 0.5)))
        self.btn1=Button(text='button1 ', size_hint=(0.5, 0.5), 
        on_press=self.click_b1))
        self.btn2=Button(text='button2', size_hint=(0.5, 0.5), 
        on_press=self.click_b2))


            
        self.add_widget(self.btn1)
        self.add_widget(self.btn2)

        def click_b1(self, instance):
             
             score +=10
        def click_b2(self, instance):
             score += 10
       
class SplashApp(App):
    def build(self):
        return LandingScreen()

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

kv中更容易做到,但您可以通过将以下代码添加到LandingScreen__init__()方法来实现不使用kv

    with self.canvas.before:
        self.bg = Rectangle(pos=self.pos, size=self.size, source='background.png')

LandingScreen的大小发生变化时,您还需要调整背景的大小。 为此,将此方法添加到LandingScreen

def on_size(self, *args):
    self.bg.size = self.size

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM