首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多.kv文件的集成

多.kv文件的集成
EN

Stack Overflow用户
提问于 2022-06-30 19:33:33
回答 1查看 286关注 0票数 1

由于我现在正在学习kivy/kivymd,我的问题可能很天真,请原谅我。我希望在kivy中创建多个屏幕,并将每个屏幕的定义放在单独的.kv文件中。最后,我正在创建一个具有main.kv定义的ScreenManager文件,并希望将所有的屏幕导入到这个应用程序中。请指导我怎么做。

这是我的屏幕1.kv文件

代码语言:javascript
复制
<Screen1>:
    name: 'Screen1'
    Label:
        id: first_screen
        text: "Hi I'm The First Screen"

这是我的屏幕2.kv文件

代码语言:javascript
复制
<Screen2>:
    name: 'Screen2'
    Label:
        id: second_screen
        text: "Hi I'm The Second Screen"

这是我的main.kv文件

代码语言:javascript
复制
#:kivy 2.1.0
#:include libs.kv.screen1.kv
#:include libs.kv.screen2.kv

ScreenManager:
    Screen:
        name: "main_screen"

        BoxLayout:
            orientation: "vertical"

            Label:
                text: "main screen"
            Button:
                text: "to screen 1"
                on_press: app.root.current = "Screen1"
            Button:
                text: "to screen 2"
                on_press: app.root.current = "Screen2"
    Screen1:
    Screen2:

当我遇到错误时,请指导如何正确地编写main.kv。请注意,我想删除ScreenManager.add_widget(Screen1.)的python代码

EN

回答 1

Stack Overflow用户

发布于 2022-07-01 18:06:26

我们可以在不同的.py文件中创建多个屏幕,并在不同的文件中定义它们的.kv。为了集成所有文件,我们可以创建一个main.kv文件,其内容如下所示:

代码语言:javascript
复制
#  import the python files defining the Screens
#: import Screen1 libs.baseclass.screen1.Screen1
#: import Screen2 libs.baseclass.screen2.Screen2

#  include the kv files for the other Screens
#: include libs/kvs/screen1.kv
#: include libs/kvs/screen2.kv

ScreenManager:
    Screen1:
    Screen2:

FInally通过应用程序中的生成器加载此文件。

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

https://stackoverflow.com/questions/72821153

复制
相关文章

相似问题

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