【发布时间】:2021-11-13 01:34:08
【问题描述】:
我想检查复选框状态是否为关闭/正常(真/假)并执行更多代码
我试过了
if self.root.ids.chk_box.active==True:
print('True')
else:
print('False')
但它不能正常工作
编辑: 完整代码
from kivy.lang import Builder
from kivy.factory import Factory
from kivymd.uix.selectioncontrol import MDCheckbox
Root="""
#:import F kivy.factory.Factory
<Obj_1@BoxLayout>:
MDCheckbox:
id:chk_box
BoxLayout:
id:Layout_1
MDRectangleFlatButton:
text:"Add"
on_press:root.add_widget(F.Obj_1())
MDRectangleFlatButton:
text:"print state"
on_press:app.State()
"""
class Main(MDApp):
def build(self):
return Builder.load_string(Root)
def State(self):
self.Obj_1=Factory.Obj_1()
if self.Obj_1.ids.chk_box.active==True:
print('True')
else:
print("False")
Main().run()
在上面的代码中,添加按钮将复选框添加到主布局中,然后有一个按钮'打印状态'来知道状态
即使Checkbox状态为True,你也可以清楚的看到它一直在打印False
如果 MDCheckbox 没有放在 Factory 对象中,同样的事情也可以正常工作
注意:这是为了知道复选框的状态,我肯定知道on_active:函数,但我不能使用它
【问题讨论】:
-
用完整代码更新了它
标签: python kivy kivy-language kivymd