如何解决Kivy,根据屏幕名称更改工具栏标题
如何根据所处的屏幕在kivy(md)中更改工具栏标题。我已经能够在我进入屏幕时设置标题,但是我也希望它在我离开屏幕时进行更改。为什么我无法在我的屏幕管理器中设置while语句,例如“ if screen_manager.current =“ screen”:工具栏.title =“新标题”“,或类似的内容?
对于Kivy中的我来说,似乎总是需要按下按钮或类似的东西来触发事件或更改。但是我想知道如何设置值,例如工具栏标题,而不需要按钮或触发更改的内容。
解决方法
您可以使用current_screen
属性,并执行以下操作:
class Manager(ScreenManager):
def on_current_screen(self,sm,screen):
toolbar.title = screen.name
这假设toolbar
是在某处定义的。
因此,我已经通过阅读更多的绑定方法解决了它。我以前知道它,但仅将其用于事件,不知道在进行更改时可以使用它。我通过这样做解决了
self.screen_manager.bind(current = callback)
def回调(self,obj,value): 如果screen_manager.current =“第一个屏幕”: toolbar.title =“某些字符串” 其他: toolbar.title =“其他字符串”
所有这些代码都放在一个类中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。