Проблема в том, что вы не установили никаких размеров для CheckBoxes
, поэтому каждому CheckBox
назначается значение по умолчанию size_hint
из (1,1)
, что означает, что каждый имеет тот же размер, что и их родительский FloatLayout
. Когда вы щелкаете в любом месте этого FloatLayout
, последний добавленный CheckBox
("Dis c 3") получает событие и заявляет его для себя, а остальные никогда не видят событие.
Вот это модифицированная версия вашего kv
, которая устанавливает некоторые размеры:
<FirstProfile>
id: firstprofile
disc_1: disc_1
disc_2: disc_2
disc_3: disc_3
FloatLayout:
CheckBox:
id: disc_1
pos_hint: {'x':0.05,'center_y':0.7}
group: "disc"
active: False
size_hint: None, None
size: sp(32), sp(32)
Label:
text: "Disc 1"
pos_hint: {'x':0.25,'center_y':0.7}
text_size: 200,80
halign: 'left'
valign: 'middle'
size_hint: None, None
size: self.texture_size
CheckBox:
id: disc_2
pos_hint: {'x':0.05,'center_y':0.65}
group: "disc"
active: False
size_hint: None, None
size: sp(32), sp(32)
Label:
text: "Disc 2"
pos_hint: {'x':0.25,'center_y':0.65}
text_size: 200,80
halign: 'left'
valign: 'middle'
size_hint: None, None
size: self.texture_size
CheckBox:
id: disc_3
pos_hint: {'x':0.05,'center_y':0.6}
group: "disc"
active: False
size_hint: None, None
size: sp(32), sp(32)
Label:
text: "Disc 3"
pos_hint: {'x':0.25,'center_y':0.6}
text_size: 200,80
halign: 'left'
valign: 'middle'
size_hint: None, None
size: self.texture_size