Kivy:如何设置复选框以启动时检查

时间:2017-02-28 12:44:40

标签: python checkbox kivy

如何在启动时检查id设置为蓝色的复选框的状态。我使用python 3.6和Kivy 1.9.2.dev0。 我认为blue = ObjectProperty(True)中的.py行和value: root.blue中的.kv会这样做,但显然我误解了ObjectProperty的工作方式

import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivy.core.window import Window

class SampBoxLayout(BoxLayout):

    # For radio buttons
    blue = ObjectProperty(True)
    red = ObjectProperty(False)

class SimpleApp(App):
    def build(self):
        Window.clearcolor = (1, 1, 1, 1)
        return SampBoxLayout()

sample_app = SimpleApp()
sample_app.run()

.kv:

#: import CheckBox kivy.uix.checkbox


<SampBoxLayout>
    orientation: "vertical"
    padding: 10
    spacing: 10
    BoxLayout:
        orientation: "horizontal"
        size_hint_x: .55
        Label:
            text: "Favorite Color:"
            color: 0, 0, 0, 1
            size_hint_x: .265
        Label:
            text: "Blue"
            color: 0, 0, 0, 1
            size_hint_x: .15
        CheckBox:
            group: "fav_color"
            id : blue
            value: root.blue
            size_hint_x: .05
        Label:
            text: "Red"
            color: 0, 0, 0, 1
            size_hint_x: .15
        CheckBox:
            group: "fav_color"
            value: root.red
            size_hint_x: .05

修改:为什么要使用value而不是active

def on_checkbox_active(checkbox, value):
    if value:
        print('The checkbox', checkbox, 'is active')
    else:
        print('The checkbox', checkbox, 'is inactive')

1 个答案:

答案 0 :(得分:1)

不,你没有误解它。您刚刚使用了错误的属性名称 设置活动属性而不是值:

svn not found