如何在启动时检查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')
答案 0 :(得分:1)
不,你没有误解它。您刚刚使用了错误的属性名称 设置活动属性而不是值:
svn not found