Я работаю над приложением для подсчета очков. Я пытаюсь обновить текст кнопки с выбранным номером. Я изо всех сил пытаюсь сослаться на кнопку из файла .kv. Я не уверен, смогу ли я как-то назвать это или мне нужно подойти к этому по-другому. Для дальнейшего пояснения: я хочу обновить кнопку в ScoreWindow для отображения числа, которое я выбираю из SelectionWindow, например, «1».
main.py
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
class MainWindow(Screen):
pass
class ScoreWindow(Screen):
pass
class SelectionWindow(Screen):
pass
class WindowManager(ScreenManager):
pass
kv = Builder.load_file("mainkv.kv")
class MyMainApp(App):
def build(self):
return kv
if __name__ == "__main__":
MyMainApp().run()
мейнкв.кв
WindowManager:
MainWindow:
ScoreWindow:
SelectionWindow:
<MainWindow>:
name: "main"
GridLayout:
cols: 1
Button:
text: "Quick Score"
on_release:
app.root.current = "score"
root.manager.transition.direction = "left"
<ScoreWindow>:
name: "score"
GridLayout:
cols: 2
Button:
id: card.__self__
text: ""
on_release:
app.root.current = "sel"
root.manager.transition.direction = "left"
Button:
text: "Back"
on_release:
app.root.current = "main"
root.manager.transition.direction = "right"
<SelectionWindow>
name: "sel"
GridLayout:
cols:3
Button:
text: "1"
on_release:
app.root.current = "score"
root.manager.transition.direction = "right"
card.text = "1"
Button:
text: "2"
Button:
text: "3"
Button:
text: "4"
Button:
text: "5"
Button:
text: "6"
Button:
text: "7"
Button:
text: "8"
Button:
text: "9"
Button:
text: "10"
Button:
text: "11"
Button:
text: "12"
Button:
text: "Back"
on_release:
app.root.current = "score"
root.manager.transition.direction = "right"
Button:
text: "Skip-Bo"