Search code examples
kivykivy-languagepython-3.8

Invalid indentation, must be a multiple of 8 spaces, rounded button kivy .kv file


so yeah I was learning kivy - "rounded buttons" and when I ran the tutorial's program --------------- ERROR: https://i.sstatic.net/rGhSa.png python:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
from kivy.core.window import Window
Builder.load_file("my.kv")
class MyLayout(Widget,App):
    def __init__(self,*args,**kwargs):
        super(MyLayout, self).__init__(**kwargs)

class AwesomeApp(App):
    def build(self):
        Window.clearcolor = (1,1,1,1)
        return MyLayout()
if __name__ == '__main__':
    AwesomeApp().run()

.kv

<MyLayout>
    BoxLayout:
            orientation: "vertical"
            size: root.width, root.height
            padding: 50
            spacing: 20
            Button:
                text: "Hello World!"
            RoundedButton:
                text: "Goodbye World!"
                pos_hint: {'center_x': 0.5}
                size_hint: (1, .3)
                #background_color: (0/255,255/255,203/255,1)
                #background_normal: ''
<RoundedButton@Button>
    background_color: (0,0,0,0)
    background_normal: ''
    canvas.before:
        Color:
            rgba: (0/255,255/255,203/255,1)
        RoundedRectangle:
            size: self.size
            pos: self.pos
            radius: [58]

thanks,can anyone help, don't like these errors, indentation error it seems like


Solution

  • You are not doing proper indentation you must use only one type of indentation in a file but you are using 8 spaces and 4 spaces both as indentation that is why error is coming.

    Here,I have used 4 spaces as indentation in whole code that is why its working fine.

    <MyLayout>
        BoxLayout:
            orientation: "vertical"
            size: root.width, root.height
            padding: 50
            spacing: 20
            Button:
                text: "Hello World!"
            RoundedButton:
                text: "Goodbye World!"
                pos_hint: {'center_x': 0.5}
                size_hint: (1, .3)
                    #background_color: (0/255,255/255,203/255,1)
                    #background_normal: ''
    <RoundedButton@Button>
        background_color: (0,0,0,0)
        background_normal: ''
        canvas.before:
            Color:
                rgba: (0/255,255/255,203/255,1)
            RoundedRectangle:
                size: self.size
                pos: self.pos
                radius: [58]