Skip to content

Instantly share code, notes, and snippets.

@kived
Last active March 18, 2021 20:18
Show Gist options
  • Save kived/3f6a638fc4827957f933463954524de5 to your computer and use it in GitHub Desktop.
Save kived/3f6a638fc4827957f933463954524de5 to your computer and use it in GitHub Desktop.
Kivy: Separator widgets
<Separator@Widget>:
canvas:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
<HSeparator@Separator>:
size_hint_y: None
height: dp(2)
<VSeparator@Separator>:
size_hint_x: None
width: dp(2)
import kivy
kivy.require('1.8.1')
from kivy.app import App
from kivy.lang import Builder
root = Builder.load_string('''
<Separator@Widget>:
canvas:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
<HSeparator@Separator>:
size_hint_y: None
height: dp(2)
<VSeparator@Separator>:
size_hint_x: None
width: dp(2)
BoxLayout:
Widget
VSeparator
Widget
VSeparator
BoxLayout:
orientation: 'vertical'
Widget
HSeparator
Widget
HSeparator
Widget
''')
class TestApp(App):
def build(self):
return root
if __name__ == '__main__':
TestApp().run()
@rodolpheh
Copy link

Nice practical use of kv templates. I slightly changed it to add a parameter for the colour :

Separator:
    rgba: 0.7, 0.7, 0.7, 1

<Separator@Widget>:
    rgba: 1, 1, 1, 1
    canvas:
        Color:
            rgba: self.rgba
        Rectangle:
            pos: self.pos
            size: self.size

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment