【发布时间】:2017-12-24 01:55:51
【问题描述】:
这可能是完全解决这个问题的错误方法,所以我愿意接受其他建议。我正在尝试通过按下按钮来更改另一个类中按钮的背景。 .kv 按钮在这里:
Button:
root: 'landing_sc'
id: filebutton
size: 150, 150
size_hint: None, None
background_normal: 'folder.png'
background_down: 'opacity.png'
pos_hint: {'x': 0.11, 'top': .7}
on_release:
root.manager.transition = FadeTransition()
root.manager.transition.duration = 1.5
root.IfFolder()
root.ChangeToSlide()
app.switch.change()
这是它所指的应用程序类:
class MySubApp(App):
def switch(self):
change = LandingScreen()
def build(self):
return MyScreenManager()
最后是我试图在 LandingScreen 类中使用的方法来更改那里的按钮背景:
class LandingScreen(Screen):
def __init__(self, **kwargs):
super(LandingScreen, self).__init__(**kwargs)
self.buttons = [] # add references to all buttons here
Clock.schedule_once(self._finish_init)
def callfun(self, *args):
self.ChangePic()
def ChangePic(self, *args):
self.buttons[1].background_normal = 'folder.png'
这似乎是一项庞大的工作,无论如何都行不通。有没有更简单的方法来更改另一个类 on_release 中按钮的属性?谢谢。
【问题讨论】:
-
如果以下答案正确,请采纳。谢谢。