es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error durante la carga del constructor en kivy: Identación inválida, debe ser múltiplo de “n” espacios.

Entonces, he estado trabajando en una aplicación de kivy y estaba teniendo problemas con el cargador de Builder para cargar un lenguaje kv, el código se bloquea cuando lo ejecuto.

Mensaje de error:

Archivo “C:\Users\areef\PycharmProjects\pythonProject1\venv\venev2\lib\site-packages\kivy\lang\parser.py”, línea 566, en parse_level
raise ParserException(self, ln,
kivy.lang.parser.ParserException: Parser: Archivo ““, línea 3:

1:Pantalla:
2: FloatLayout:

3: Button:
4: text: “¡Funciona!”
5: pos_hint: {“x”: 0.1, “y”: 0.7}

Indentación no válida, debe ser múltiplo de 8 espacios

Código:

from kivy.app import App
from kivy.lang import Builder

kv = “””Pantalla:
FloatLayout:
Button:
text: “¡Funciona!”
pos_hint: {“x”: 0.1, “y”: 0.7}
text_size: self.size
“””

class MyApp(App):
def build(self):
self.screen = Builder.load_string(kv)
return self.screen

if name == “main“:
MyApp().run()

¿Qué estoy haciendo mal, alguien puede ayudarme a solucionar este error?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error señala un problema con la indentación en el código del lenguaje kv (Kivy). El error indica que la indentación no es un múltiplo de 8 espacios, lo que está provocando que el código se bloquee.

    Para solucionar el error, asegúrate de que todas las líneas en el código del lenguaje kv tengan la indentación correcta. En el ejemplo de código proporcionado, la indentación para el widget Button debe aumentarse en 8 espacios.

    Aquí tienes el código del lenguaje kv corregido:

    kv = """
    Screen:
        FloatLayout:
            Button:
                text: "¡Funciona!"
                pos_hint: {"x": 0.1, "y": 0.7}
                text_size: self.size
    """
    

    Después de realizar este cambio, el código debería ejecutarse sin errores.

Comments are closed.