Skip to content
Snippets Groups Projects
Select Git revision
  • d3d59febc7d29cf06572c583027b92497ff4a38d
  • main default protected
2 results

main.py

Blame
  • Forked from Brady James Garvin / method_overriding
    Source project has a limited visibility.
    main.py 1.01 KiB
    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.properties import NumericProperty, StringProperty
    
    
    class OneTimeButton(Button):
        count = 0
        index = NumericProperty()
    
        def __init__(self, **kwargs):
            super().__init__(**kwargs)
            self.index = OneTimeButton.count
            OneTimeButton.count += 1
    
        def on_press(self):
            self.disabled = True
            print(f'One-time {self.index}')
    
    
    class GuessingButton(Button):
        hidden_text = StringProperty('')
    
        def __init__(self, hidden_text, **kwargs):
            super().__init__(**kwargs)
            self.hidden_text = hidden_text
    
        def on_press(self):
            if self.text == '':
                self.text = self.hidden_text
            else:
                self.text = ''
    
    
    class DemoApp(App):
        def build(self):
            for i in range(5):
                self.root.add_widget(OneTimeButton())
            for i in range(5):
                self.root.add_widget(GuessingButton(f'Guess {i}'))
    
    
    if __name__ == '__main__':
        app = DemoApp()
        app.run()