gpt4 book ai didi

python - Kivy 应用程序在屏幕更改时退出

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:13 25 4
gpt4 key购买 nike

我正在尝试将我的代码从 .kv 文件全部移植到 Python(这样对我来说似乎更容易)。我有两个屏幕,我一直使用 root.manager.current = "main" 切换到下一个屏幕在 kv 文件中。然而,当我用 Python 代码编写这段代码时,我的应用程序崩溃了。这是我的代码:

class CustomScreenManager(ScreenManager):
def switch_view(self):
self.current = 'main'

class Intro(Screen):
pass

class Chat(Screen):
pass

class ChatApp(App):
def build(self):
Screens = CustomScreenManager(transition = NoTransition())

intro = Intro()
chat = Chat(name = "main")

bt1_intro = Button(on_press = Screens.switch_view())

intro.add_widget(bt1_intro)

Screens.add_widget(intro)
Screens.add_widget(chat)

return Screens

if __name__ == "__main__":
ChatApp().run()
ChatApp().screen_manager

我也尝试过 switch_to方法,但它也会使应用程序崩溃。我该怎么做才能避免崩溃并获得预期的行为?提前致谢。

最佳答案

switch_view的定义更改为

def switch_view(self, *args):

并添加 Button

bt1_intro = Button(on_press = Screens.switch_view)

应用程序崩溃是因为在您对 bt1_intro 的原始分配中 switch_view 被调用(而不是传递给函数),并且当时屏幕不存在。

关于python - Kivy 应用程序在屏幕更改时退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35750511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com