파이썬[Python]: kivy - bind 함수 with Animation_0001 - kv
kivy.event 모듈 - EventDispatcher 클래스 - bind 함수(functions)
/// 설명
이벤트 타입이나 속성을 callback 함수에 연결합니다.
Event: on_start, on_complete, on_progress
참고: event 모듈 목록
※ 형식
bind(**kwargs)
reference
https://kivy.org/doc/stable/api-kivy.event.html
Event: on_start, on_complete, on_progress
참고: event 모듈 목록
※ 형식
bind(**kwargs)
reference
https://kivy.org/doc/stable/api-kivy.event.html
/// 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import kivy kivy.require('2.0.0') from kivy.app import App from kivy.lang import Builder from kivy.core.window import Window from kivy.animation import Animation Window.clearcolor = (.5, .0, .5, .1) kv = ''' FloatLayout: Button: text: 'Animation!!!' size_hint: (None, None) size: (100, 100) on_press: app.bt_pressed(self, id_bt) Button: id: id_bt text: 'None!!!' size_hint: (None, None) size: (200, 200) pos: (300, 200) ''' class TestApp(App): def bt_pressed(self, button_instance, id_bt): # getting window size window_width, window_height = Window.size def ani_start(ani_instance, button_instance): id_bt.text = 'Moving' def ani_end(ani_instance, button_instance): id_bt.text = 'The End' anmt = Animation(y=window_height - 100) # first move(up) anmt.bind(on_start=ani_start) anmt += Animation(x=window_width - 100) # second move(right) anmt += Animation(y=0) # third move(down) anmt += Animation(x=0) # forth move(left) anmt.bind(on_complete=ani_end) anmt.start(button_instance) return None def build(self): return Builder.load_string(kv) TestApp().run() | cs |
/// 출력
* 실행환경: Microsoft Windows 10 Homes
* 인터프리터: 파이썬(Python 3.9)
– 당신을 응원합니다. –
댓글
댓글 쓰기