Solo puedo importar una imagen en kivy, pero si intento importar más de una, aparece un error que dice: "Solo un objeto raíz está permitido por .kv"

Main.py

  import kivy
  from kivy.app import App
  from kivy.uix.floatlayout import FloatLayout
  from kivy.lang import Builder

  lol = Builder.load_file("my.kv")

  class Myapp(App):
      def build(self):
          return lol



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

My.kv

  Image:
          source: 'equalizer.gif'
          size_hint: 0.3, 0.4
          pos_hint: {'center_x': 0.5, 'center_y': 0.5}

  Image:
          source: 'themp.png'
          pos_hint: {'left': 1, 'top': 1}
          size_hint: None, None
1
Budaksesat2000 17 oct. 2019 a las 08:48

1 respuesta

La mejor respuesta

Como el mensaje kivy solo permite tener una raíz, ya que kivy solo admite una ventana, por lo que si desea mostrar varios elementos, debe usar un contenedor, por ejemplo un BoxLayout:

BoxLayout:
    orientation: "vertical"
    Image:
        source: 'equalizer.gif'
        size_hint: 0.3, 0.4
        pos_hint: {'center_x': 0.5, 'center_y': 0.5}

    Image:
        source: 'themp.png'
        pos_hint: {'left': 1, 'top': 1}
        size_hint: None, None
2
eyllanesc 17 oct. 2019 a las 05:53