Kivy 中“name”和“id”属性的区别,以及何时应该使用它们

我找不到与此相关的帖子,所以这里是:


我正在研究猕猴桃,我有一些关于它的基础的问题。Kivy 中引用对象的“name:”和“id:”有什么区别?


这是我的代码示例,用作示例。请注意,我使用“name”属性引用“Screen”类中的对象,该属性工作得很好,并且我还可以使用“id”属性引用“TextInput”和“Button”中的对象值:


<Button>:

    size_hint: 0.24, 0.1


<TextInput>:

    size_hint: 0.4, 0.1


ScreenManager:

    Screen:

        name: 'login_page'


        TextInput:

            id: email



        Button:

            id: login_button

            text: 'Go to main page'

            pos_hint: {"x": 0.38, "top": 0.2}

            on_release:

                app.root.current = 'main_page'

                root.transition.direction = 'left'

    Screen:

        name: 'main_page'

        

        FloatLayout:


            Button:

                text: 'Go to login page'

                pos_hint: {"x": 0.38, "top": 0.2}

                on_release:

                    app.root.current = 'login_page'

                    root.transition.direction = 'right'


慕村9548890
浏览 158回答 1
1回答

慕妹3242003

这不是一个选择的问题。该name属性是类的一部分Screen,用于ScreenManager操作其子级Screens。当在规则中遇到时,它们由构建器 (&nbsp;)ids创建。被添加到包含 的根小部件的字典中。kvkivy.lang.builder.Builderidididsid因此,您只能将该name属性用于 的子级ScreenManager。您可以使用only 来访问属于根小部件规则ids一部分的小部件。kv
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python