首页 > 解决方案 > Kv 文件不能在子目录中包含文件

问题描述

在我以更 MVC 风格重新打包我的 Kivy 项目的任务中,我决定为我的所有小部件创建一个 Views 文件夹,该文件夹为我的应用程序设置了一个大的方法。我创建了一个将充当我的控制器的文件main.kvmain.py在我的 Views 文件夹中,我创建了一个home.pyhome.kv文件。但是我发现我无法从子目录中找到我#:includehome.kv文件中的文件。main.kv我在 git issue comment thingy #1341上读到这是不可能的。这东西比我的鞋子还旧,所以我在这里再问一次。.py 主文件:

from kivy.uix.floatlayout import FloatLayout

class Home(FloatLayout):
    pass

.kv 主文件:

#: import FloatLayout kivy.uix.floatlayout

<Home>:
    canvas.before:
        Color:
            rgba: (0.73,0.73,0.73,1)
        Rectangle:
            pos: self.pos
            size: self.size
    ScreenManager:
        id: _screen_manager
        Screen:
            name: 'home'
            ActionBar:
                pos_hint: {'top': 1, 'right': 0.99}
                size_hint_x: 0.98
                canvas:
                    Color:
                        rgba: (0,0.4,0.51,1)
                    Rectangle:
                        pos: self.pos
                        size: self.size
                ActionView:
                    use_separator: True
                    ActionPrevious:
                        title: "Tuis"
                        with_previous: False
                        app_icon: ''
                        color: (1,1,1,1)

在 main.kv 文件中,我将家庭课程与#: include views.home.kv. 它抛出一个FileNotFound错误。当然,我决定将主文件放在可以工作的同一目录中。但是是否可以include从子目录中创建 .kv 文件?语法是什么?

标签: pythonkivyincludepython-3.6kivy-language

解决方案


推荐阅读