如何解决千伏被多次加载如何防止 kv从循环本身?
我能够运行该程序,但是当它加载时,kivy 窗口是空白的。我不断收到警告,提示 kivy 已多次加载。提前致谢。
[警告] [Lang ] 文件 C:\Users\Eli\PycharmProjects\MedBay\mymain.kv 被多次加载,你可能有不想要的行为。
main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager,Screen
class WindowManager(ScreenManager):
pass
class MainWindow(Screen):
pass
class SecondWindow(Screen):
pass
kv = Builder.load_file("mymain.kv")
class MyMainApp(App):
def build(self):
return kv
if __name__ =="__main__":
MyMainApp().run()
kv 文件(名为 mymain.kv)
WindowManager:
MainWindow:
SecondWindow:
<MainManager>:
name: "Main"
GridLayout:
cols: 1
GridLayout:
cols: 2
Label:
text: "password:"
TextInput:
id: passw
multiline: False
Button:
text: "Submit"
on_release:
app.root.current = "second"
<SecondWindow>:
name:"second"
Button:
text: "Go Back"
on_release:
app.root.current = "Main"
解决方法
kv = Builder.load_file("mymain.kv")
class MyMainApp(App):
应用程序在运行时会自动加载一个与应用程序同名的 kv 文件(省略任何尾随 App
并转换为小写)。因此,您的 kv 文件被加载了两次。
有关详细信息,请参阅 the documentation。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。