【发布时间】:2021-03-11 07:21:35
【问题描述】:
我在 kivy lang 文件中有这样的东西(伪代码)
<RootWidget>:
Checkbox:
id: chkbox
TextInput:
id: in_text
text: ""
Button:
id: ok_btn
label: "Okay"
on_press: app.ok_pressed()
disabled: chkbox.active or len(in_text.text) > 8 and ...
关键是,ok_btn 需要根据其他几个小部件的状态动态启用和禁用。
这一切都按预期工作,但现在我遇到了问题。由于复杂的原因,我需要创建按钮并将其插入到 python 的根小部件中,而不是在 .kv 文件或字符串中定义它。我不知道如何处理 disabled 属性。如果我将其设置为属性
btn = Button()
btn.disabled = ...
这仅设置初始状态。我想也许
btn.bind(on_disabled=some_function)
但这只是在按钮被禁用时做一些事情,而不是定义何时应该禁用它。同上 on_state。我也试过了
btn.bind(disabled=some_function)
some_function 永远不会被调用
提前感谢任何指针
【问题讨论】: