2013-12-18 2 views

답변

1

다른 버튼에 대한 참조 만 있으면 other_button.text = 'whatever' 할 수 있습니다.

이 작업을 수행하는 방법은 프로그램을 작성한 방법에 따라 다릅니다. 예를 들어 kv 언어로 프로그램을 작성한 경우 버튼 번호를 id: some_id으로 지정하고 on_press: some_id.do_something()과 같은 콜백에서 해당 버튼을 참조 할 수 있습니다.

순수 Python에서는 콜백을 만들 때 부모 클래스의 버튼에 대한 참조 (예 : self.button = Button())를 유지하여 콜백이 self.button을 참조하도록 변경할 수 있습니다. 분명히 그것은 간단한 예이지만, 일반적인 생각은 당신이 원하는 것을 성취 할 수있게 해줍니다.

1

아마도 공식적인 방법은 아니지만 다음 코드를 시험해보십시오.

#:kivy 1.8.0 

<Ezs>: 
    BoxLayout: 
     orientation: 'vertical' 
     padding: 0 
     spacing: 6 

     #choose 
     Button: 
      id: btn_1 
      text: 'text before' 
      on_press: btn_2.text = 'Whatever' 
      on_release: self.text = 'Who-Hoo' 
     #choose 
     Button: 
      id: btn_2 
      text: 'Press this' 
      on_release: self.text = 'HEEYY' 
      on_press: btn_1.text = 'text after' 

평 파일 :

class Ezs(BoxLayout): 


class EzsApp(App): 

    def build(self): 
     return Ezs 

if __name__ == '__main__': 
    EzsApp().run() 
그것은 ...

Ezs.kv 파일을 버튼의 텍스트 속성을 변경합니다

관련 문제