Kivy 中 "name" 和 "id" 属性的区别,我应该什么时候使用它们
Difference between "name" and "id" attributes in Kivy, and when should I use each
各位。最近怎么样?
我找不到任何与此相关的 post,所以这里是:
我正在研究 kivy,我对它的基础有一些疑问。在 Kivy 中引用对象的“name:”和“id:”有什么区别?
这是我的代码示例,用作示例。请注意,我使用“名称”属性从“屏幕”class 引用对象,效果很好,而且我还可以使用“ id”属性:
<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'
这不是选择的问题。 name
属性是 Screen
class 的一部分,被 ScreenManager
用来操纵它的 child Screens
.
当在规则中遇到 id
时,ids
由 kv
生成器 (kivy.lang.builder.Builder
) 创建。 id
被添加到包含 id
.
的根小部件的 ids
字典中
因此,ScreenManager
的 children 只能使用 name
属性。并且您只能使用 ids
访问属于 kv
根小部件规则的小部件。
各位。最近怎么样?
我找不到任何与此相关的 post,所以这里是:
我正在研究 kivy,我对它的基础有一些疑问。在 Kivy 中引用对象的“name:”和“id:”有什么区别?
这是我的代码示例,用作示例。请注意,我使用“名称”属性从“屏幕”class 引用对象,效果很好,而且我还可以使用“ id”属性:
<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'
这不是选择的问题。 name
属性是 Screen
class 的一部分,被 ScreenManager
用来操纵它的 child Screens
.
当在规则中遇到 id
时,ids
由 kv
生成器 (kivy.lang.builder.Builder
) 创建。 id
被添加到包含 id
.
ids
字典中
因此,ScreenManager
的 children 只能使用 name
属性。并且您只能使用 ids
访问属于 kv
根小部件规则的小部件。