@amimamoya

Как сделать, чтобы все мои .kv файлы были видны файлу .py, из которого я их буду запускать?

Заранее извиняюсь за сложную формулировку вопроса, так как я не силён в названиях.
Пишу игру на kivy. Мне нужно сделать так, чтобы после появления текста и кнопок, пользователь нажимал одну из кнопок, всё это пропадало и появлялся другой текст с кнопками.
.py файл
from kivy.app import App
from kivy.lang import Builder
from kivy.metrics import dp
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout

class Start(FloatLayout):
    def perehod(self):
        return Start1()

class TestApp(App):
    def build(self):
        return Start()
        
TestApp().run()

1- ый .kv файл
<Start>:
    FloatLayout:
        Image:
            source: 'Picture.jpg'
                
        Button:
            text: 'Кнопка'
            size_hint_x: .4
            size_hint_y: .08
            pos_hint:{'center_x': .5, 'y': .2}
            on_release: root.perehod()
                
        Button:
            text: 'Кнопка 2'
            size_hint_x: .4
            size_hint_y: .08   
            pos_hint:{'center_x': .5, 'top': .7}
            on_release: root.perehod()
                
        Label:
            text: 'Добро пожаловать!'

2-ой .kv файл
<Start1>:
    FloatLayout:
        Button:
            text: 'Кнопка 3'
            size_hint_x: .4
            size_hint_y: .08
            pos_hint:{'center_x': .5, 'y': .2}
                             
        Button:
            text: 'Кнопка 4'
            size_hint_x: .4
            size_hint_y: .08   
            pos_hint:{'center_x': .5, 'top': .7}
                            
        Label:
            text: 'Продолжай!'

Проблема в том, что .py, как я понял, может видеть только 1 kv файл, так как это связано с тем, что у .kv должно быть название, как у класса в моём случае TestApp, 2 файла с одинаковым названием создать нельзя, а в один .kv нельзя запихнуть 2 рута.
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы