kivy说我有多个同名的屏幕

时间:2019-11-20 16:13:02

标签: python kivy

Kivy一直告诉我,我的所有屏幕都有多个同名屏幕,而我没有,我认为这就是为什么我尝试运行的某些代码似乎不起作用的原因。需要帮助。

这是我的窗口管理器

<ScreenManager>:
    id: window manager
    Homepage:
        id: home
        name: "home"
    SignUpWindow:
        id: create
        name: "create"
    SignUp:
        id: signup
        name: "signup"
    LoginWindow:
        id: login
        name: "login"
    ProjectListScreen:
        id: project_list_screen
        name: "project_list_screen"
    ApplyPage:
        id: applyingpage
        name: "applyingpage"
    MainWindow:
        id: main
        name: "main"
    NewProjectScreen:
        id: placements
        name: "placements"
    ProfileWindow:
        id: page
        name: "page"

1 个答案:

答案 0 :(得分:0)

Kivy 自动匹配继承 App 类的类与其类名。例如,如果您的类继承了 App 类是 class TestApp(App) : ,它将与 test.kv 或 Test.kv 匹配

如果您也因此使用 builder 加载 kv 文件(例如 with open("test.kv") as kvfile:),您将加载 kvfile 两次。所以你的系统告诉你你有多个网名。

解决方案 1. 更改您的 kv 文件名。