Как обновить текстовое значение кнопки и сохранить значение? - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над приложением для подсчета очков. Я пытаюсь обновить текст кнопки с выбранным номером. Я изо всех сил пытаюсь сослаться на кнопку из файла .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"
...