【发布时间】:2018-03-29 10:21:12
【问题描述】:
有人愿意解释为什么 Kivy ToggleButton 中的组名必须是组中按钮的其中一个 id 的名称吗?
我遇到了一个问题并为此苦苦挣扎,最终发现唯一的解决方案是使用其中一个按钮的 id 名称,否则解释器会说未定义组名。我不明白为什么。我查看了 Kivy Docs,但找不到任何关于组本身的信息。它只是说切换按钮可以使用组来创建单选按钮样式的活动。 我正在使用 Kivy 1.10.0 和 Python 3.6.2
我已经重现了下面的问题。我将非常感谢对此的任何见解。
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.togglebutton import ToggleButton
class toggling(BoxLayout):
pass
class togglingApp(App):
pass
if __name__ == "__main__":
togglingApp().run()
kv 文件:
toggling:
<toggling>:
orientation: "vertical"
padding: 5
spacing: 5
BoxLayout:
size_hint_y: None
height: "40dp"
Label:
text: "Title"
BoxLayout:
size_hint_y: None
height: "40dp"
Label:
size_hint_x: None
width: "100dp"
text: "Firstly"
ToggleButton:
text:"A1"
group: a1
id: a1
on_press:
ToggleButton:
text:"A2"
group: a1
id: faulty
on_press:
BoxLayout:
size_hint_y: None
height: "40dp"
Label:
size_hint_x: None
width: "100dp"
text: "Secondly"
ToggleButton:
text:"B1"
id: b1
group: the_b_group
on_press:
ToggleButton:
text:"B2"
id: b2
group: the_b_group
on_press:
ToggleButton:
text:"B3"
id: b3
group: the_b_group
on_press:
BoxLayout:
背景(如果需要):
我的问题源于一个错误,指出我的 ToggleButton 组名称未定义。我有一些按预期工作的 ToggleButtons,然后我尝试将一组类似的按钮复制并粘贴到新行,并编辑标签。此操作杀死了该应用程序。它不会运行,它说我的组名(对于新的一组按钮)没有定义。
我正在尝试创建一个数据收集应用程序,它是一系列类别,每个系列都有 2-5 个切换按钮。这个想法是在每个组中点击一个按钮,每个组中的数据填充一个列表视图并最终在数据库中归档。
诚然,我的 Python 技能很弱,我才几个月,但我的 kivy 技能较弱。 Kivy 真的很棒,但无论出于何种原因,我发现 Kivy 完全不透明,我通常不明白它在做什么。感谢您的帮助。
【问题讨论】:
标签: python kivy togglebutton