2015-07-02 39 views
6

Renk arka planını nasıl yapacağımı biliyorum ancak görüntüyü arka plan olarak ayarlamak için yararlı bir şey bulamıyorum ve kodumdaki herhangi bir yardım için gerçekten minnettar olacağım.Kivy'de ekran arka planı görüntüsü nasıl ayarlanır

from kivy.app import App 
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition 
from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.floatlayout import FloatLayout 
from kivy.uix.gridlayout import GridLayout 
#from kivy.uix.label import Label 
from kivy.uix.button import Button 
from kivy.core.window import Window 
from kivy.core.image import Image 
#from kivy.graphics import BorderImage 
from kivy.graphics import Color, Rectangle 
#from kivy.uix.image import AsyncImage 


class StartScreen(Screen): 
    pass 

class GameScreen(Screen): 
    pass 

class RootScreen(ScreenManager): 
    pass 


class MainApp(App): 
    def build(self): 
     return RootScreen() 

if __name__ == "__main__": 
    MainApp().run() 

Ve .kv dosya:

İşte benim .py dosyası

#:import FadeTransition kivy.uix.screenmanager.FadeTransition 

<RootScreen>: 
    transition: FadeTransition() 
    StartScreen: 
    GameScreen: 

<StartScreen>: 
    name: "start" 
    canvas.before: 
     Rectangle: 
      pos: self.pos 
      size: self.size 
     Image: 
      source: "lights.png" 
    FloatLayout: 
     Image:  # This part doesn't seem to work 
      source: "lights.png" 
      allow_stretch: True 
      keep_ratio: False 
      size_hint: 1, 1 
     Button: 
      text: "Play!" 
      size_hint: 0.4, 0.3 
      pos_hint: {'center_x':.5, 'center_y':.5} 
      font_size: 70 
      on_release: root.manager.current = "game" 
<GameScreen>: 
    name: "game" 
    FloatLayout: 
     Button: 
      text: "Nazaj!" 
      font_size: 70 
      on_release: root.manager.current = "start" 

cevap

6
canvas.before: 
     Rectangle: 
      pos: self.pos 
      size: self.size 
     Image: 
      source: "lights.png" 

Görüntü bir widget, tuvale yerleştirin olamaz. Ya sadece dikdörtgen için bir kaynak ayarlanır Ne * yapabilirsiniz

:

canvas.before: 
     Rectangle: 
      pos: self.pos 
      size: self.size 
      source: 'lights.png' 

... ya bir kap düzeninde koyarak diğer aletler arkasında Resmi yerleştirin.

+0

Cevabınız için teşekkür ederiz ama maalesef hiçbir şey yapmıyor gibi görünüyor. Görüntüyü doğrudan ekrana ve float düzeninde bir widget olarak eklemeyi denedim, ancak hiçbiri herhangi bir değişiklik yapmadı, herhangi bir görüntü göstermiyor ve nedenini anlamıyorum. – Larisa

+0

Üzgünüm, işe yarıyor, teşekkürler! Sadece aynı dizinde kayıtlı olan görüntü yok. – Larisa