我试图用我的KV语言上的一个规则来生成on上的类,但是我总是得到一个错误。在
<SimpleInputLayout>:
orientation: 'vertical'
message_label: message
user_input: input
Label:
id: message
text: root.message_to_user
FloatInput: if input_type == 'float' else TextInput:
id: input
focus: True
如果input_type
等于'float'
,我希望我的input
类是FloatInput
,否则是TextInput
。在
单用
kv
lang是不可能做到的。至少不是直接的。你有4种选择:根据小部件的属性设置
input_type
:从外部更改
input.input_type
属性(如果差异仅为输入类型)<parent>.add_widget(Factory.FloatInput())
,比如说Button
的on_release
__init__
中使用Python。这比在kv
中添加小部件而纠结于实现不存在的东西或寻找合适的事件来使用它要容易得多。它更灵活。在尽管文档中可能提到了
:
之后的所有内容都像一个普通的Python,但这适用于小部件属性和事件,而不是小部件本身:不好:
^{pr2}$好:
相关问题 更多 >
编程相关推荐