2017-05-16 6 views
0
from kivy.app import App 
from kivy.uix.boxlayout import BoxLayout 
from kivy.properties import BooleanProperty 
from kivy.lang import Builder 

Builder.load_string(''' 
<MyWidget>: 
    CheckBox: 
     group: "Zone " 
     active: root.odrzuc 
     on_state: self.active 
    CheckBox: 
     group: "Zone " 
     active: root.decyduj 
     on_state: self.active 

''') 

class MyWidget(BoxLayout): 
    odrzuc = BooleanProperty(False) 
    decyduj = BooleanProperty(True) 


class MyApp(App): 
    def build(self): 
     return MyWidget() 

if __name__ == '__main__': 
    MyApp().run() 

チェックボックスの1つをクリックしてオンにし、もう一方をオフにします。私は 'on_state:self.active'を使ってそれらをブロックすることができますが、ブロックされていないブロックを解除する方法はわかりません。1つのチェックボックスを複数回クリックすると、チェックボックスが表示され、消えます。

+0

を。 – Reverse

+0

ああ、申し訳ありません、私の答えをご覧ください。 – moritzg

答えて

0

あなたは彼らにグループを与える必要があります:

group: 'my-group' 

をして、この設定:チェックボックスはラジオボタンでkivyで

allow_no_selection: False 

Documentation

関連する問題