我正在尝试为MCQ做一个aap。这里我想要一个函数,如果有人点击了对应于复选框的标签,那么这个复选框也必须被选中。。在基维有可能吗?因为Kivy没有直接提供与checkbox的任何文本关联。在
这是kv的一部分。在
<MCQCheckBox@CheckBox>:
color:0,0,0,1
size_hint: 0.15, 1
group: 'opts'
<MCQLabel@Label>:
text_size: self.size
valign: 'center'
font_size: '13sp'
color: 0,0,0,1
<MCQsGUI>:
BoxLayout:
orientation:'vertical'
size_hint: 0.95, 0.7
spacing: 2
pos_hint: {'center_x': .5, 'center_y': .5}
MCQBoxLayout:
MCQCheckBox:
MCQLabel:
text:"option 1"
MCQBoxLayout:
MCQCheckBox:
MCQLabel:
text:"option 2"
MCQBoxLayout:
MCQCheckBox:
MCQLabel:
text:"option 3"
MCQBoxLayout:
MCQCheckBox:
MCQLabel:
text:"option 4"
您可以只使用kv语言和动态类:
要使标签的行为类似于按钮,只需使}类继承。
MCQLabel
从Label
和{要保持组自身的行为,可以在按下关联标签时调用^{} 类的
_do_press ()
方法(CheckBox继承自该类)。试验电压:
主.py:
^{pr2}$我不知道是否有一种直接的/内置的方法来做到这一点。但这里是一个没有使用
main.kv
文件的即兴示例。在创建
CheckBox
和Label
对象时,可以按以下方式手动连接CheckBox
:所以每次你按下
Label
,它会做:self.associate.active = not self.associate.active
,这是对应的CheckBox
的开关。在*这只是一种方法,你可以即兴发挥,甚至可以找到更好的方法。这样可以吗?在
相关问题 更多 >
编程相关推荐