Untitled
unknown
plain_text
2 years ago
1.8 kB
4
Indexable
from kivy.app import App from kivy.uix.button import Button from kivy.uix.label import Label from kivy.uix.boxlayout import BoxLayout from kivy.uix.screenmanager import ScreenManager, Screen from kivy.uix.gridlayout import GridLayout def dodle(): pass class Btn(Button): def __init__(self, funks, **kwargs): super().__init__(**kwargs) self.funks = funks self.turnOn = False self.background_color = [1, 0, 0, 1] def on_press(self): for one_funk in self.funks: one_funk() self.switch() def switch(self): if self.turnOn: self.background_color = [1, 0, 0, 1] else: self.background_color = [0, 1, 0, 1] self.turnOn = not self.turnOn class PuzzleScreen(Screen): def __init__(self, **kwargs): super().__init__(**kwargs) gl = GridLayout(cols=2, spacing=8, padding=8) self.bt1 = Btn(text="1", funks=[]) self.bt2 = Btn(text="2", funks=[self.bt1.switch]) self.bt3 = Btn(text="3", funks=[self.bt2.switch]) self.bt4 = Btn(text="4", funks=[self.bt3.switch]) self.bt5 = Btn(text="5", funks=[self.bt1.switch]) self.bt6 = Btn(text="6", funks=[self.bt2.switch]) self.bt1.funks.append(self.bt5.switch) self.bt2.funks.append(self.bt6.switch) self.bt4.funks.append(self.bt6.switch) gl.add_widget(self.bt1) gl.add_widget(self.bt2) gl.add_widget(self.bt3) gl.add_widget(self.bt4) gl.add_widget(self.bt5) gl.add_widget(self.bt6) self.add_widget(gl) class MyApp(App): def build(self): sm = ScreenManager() sm.add_widget(PuzzleScreen()) return sm MyApp().run()
Editor is loading...
Leave a Comment