Доступ к кнопке в файле KV, когда он определен в Python
Я хочу изменить цвет фона кнопки в моем файле KV, но он не работает. кнопка была определена и цикл из файла Python
def gotoPost(i, instance):
print("HAHAHAH")
Manager.current = 'ScreenTwo'
class ScreenOne(Screen):
box = ObjectProperty(None)
def on_box(self, *args):
for i in range(5):
btn = Button(text=str(i))
btn.bind(on_press=partial(gotoPost,i))
self.box.add_widget(btn)
Factory.register('ScreenOne', cls=ScreenOne)
class ScreenTwo(Screen):
pass
class Manager(ScreenManager):
screen_one = ObjectProperty(None)
screen_two = ObjectProperty(None)
class MainApp(App):
def build(self):
return Manager()
if __name__=="__main__":
MainApp().run()
Как получить доступ к кнопке в файле KV?
1 ответ
class ScreenOne(Screen):
box = ObjectProperty(None)
color = [1.0,1.0,1.0,1.0]
back_color = [0.0,0.0,0.0,1.0]
def on_box(self, *args):
for i in range(5):
btn = Button(text=str(i), color= self.color, background_color= self.back_color)
btn.bind(on_press=partial(gotoPost,i))
self.box.add_widget(btn)
Вы можете назначить кнопку для изменения цвета по мере необходимости при нажатии. Пример: self.color или self.back_color = (7,0,1,1)... Я думаю, что это красный