首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kv。被多次加载。如何预防kv。避免循环本身吗?

kv。被多次加载。如何预防kv。避免循环本身吗?
EN

Stack Overflow用户
提问于 2021-05-21 04:11:53
回答 1查看 73关注 0票数 0

我可以运行这个程序,但是当它加载时,kivy窗口是空白的。我一直收到一个警告,告诉我kivy被多次加载。提前谢谢你。

警告文件C:\Users\Eli\PycharmProjects\MedBay\mymain.kv被多次加载,您可能会有不需要的行为。

main.py

代码语言:javascript
复制
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)

代码语言:javascript
复制
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"
EN

回答 1

Stack Overflow用户

发布于 2021-05-21 04:52:24

代码语言:javascript
复制
kv = Builder.load_file("mymain.kv")
class MyMainApp(App):

应用程序在运行时,会自动加载与应用程序同名的kv文件(省略任何尾随的App并转换为小写)。因此,您的kv文件被加载了两次。

有关详细信息,请参阅the documentation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67627321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档