在Kivy中,类似于下面例子的方法是否可行?
发布的代码显然不起作用,这只是一个例子:我需要根据特定属性绘制不同的布局。在
你建议怎么解决这个问题?在
BoxLayout:
number: 0
if self.number > 3:
Label:
text: 'number is bigger than 3'
Button:
text: 'click here to decrease'
on_press: root.number -= 1
else:
Label:
text: 'number is smaller than 3'
Button:
text: 'click here to increase'
on_press: root.number += 1
KV-lang的功能有限,因此如果您想要更多的控制,您应该将您的逻辑放在Python代码中。例如,您可以将布局移动到单独的小部件中,然后使用
add_widget()
和remove_widget()
从Python代码中动态地选择一个合适的小部件。在我会选择屏幕管理器或旋转木马,一个简单的例子可能是:
如果您将索引绑定到您选择的属性,它将自动切换布局:)。。。在
基于屏幕管理器的方法将非常相似,主要的变化是只绑定当前屏幕属性,而不是索引
相关问题 更多 >
编程相关推荐