Я пытаюсь использовать функцию внутри моего py-файла для изменения экранов через определенное количество секунд, это 2 экрана и ScreenManager (хотя и не весь код, сокращенный до важных битов):
class StartScreen(Screen):
pass
class Buttons(Screen):
def change_screen(self):
WindowManager.current = "start_screen"
class WindowManager(ScreenManager):
pass
kv = Builder.load_file("my.kv")
class MyApp(App):
def build(self):
return kv
if __name__ == '__main__':
Window.fullscreen = "auto"
MyApp().run()
и это весь файл kv:
#:import NoTransition kivy.uix.screenmanager.NoTransition
#:import Clock kivy.clock.Clock
WindowManager:
transition: NoTransition()
StartScreen:
Buttons:
<StartScreen>:
name: "start_screen"
Button:
background_normal: "maxresdefault.jpg"
background_down: "maxresdefault.jpg"
size_hint: 0.3, 0.3
pos_hint: {"x": .35, "y": .35}
text: "Play"
font_size: 250
on_release:
app.root.current = "btn_screen"
root.reset_score()
<Buttons>:
name: "btn_screen"
btn: btn
on_enter:
Clock.schedule_once(root.change_screen, 5)
Button:
background_normal: "pepe11.png"
background_down: "pepe11.png"
id: btn
size_hint: 0.2, 0.3
pos_hint: {"x": .4, "y": .35}
on_press:
root.respawn()
и поэтому моя проблема с командой Clock.schedule_once, которую я пытаюсь вызвать при входе в экран кнопок, я просто получаю «TypeError: change_screen () принимает 1 позиционный аргумент, но 2 задано».
Спасибо всем заранее.