- [Tkinter] command에서 lambda 사용 목차
반응형
버튼이 눌렸을 경우 지정된 함수를 수행하는 경우에 많이 사용된다.
물론 'command' parameter가 있는 곳에는 모두 사용할 수 있다
예)
def show_frame(self, Canvas, page_name):
.......
인 경우에
command=lambda:controller.show_frame(self.Canvas1, "PageOne")
- controller class에 선언된 show_frame( )을 호출한다.
- self.Canvas1, "PageOne" 는 show_frame( )에 전달되는값이다.
참고) lambda를 사용하여 N개의 명령을 수행할 수 있다
아래의 경우는
command=lambda: (print("aaa"), controller.show_frame(self.Canvas1, "PageOne"))
- print를 수행한 후에 show_frame( )을 호출한다.
버튼에서는 아래의 예처럼 사용한다.
예)
self.button1 = tk.Button(self.Canvas1, text = "Quit", command=lambda: controller.show_frame(self.Canvas1, "PageOne"), anchor = "nw")
반응형
'python & 라즈베리파이' 카테고리의 다른 글
[python](unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape (0) | 2020.10.14 |
---|---|
[Python] 형(type) 변경 (0) | 2020.10.13 |
Canvas 상에 button 만들기 (0) | 2020.09.21 |
[Tkinter] after() 함수 사용법 (0) | 2020.09.17 |
[tkinter] change_img() takes 0 positional arguments but 1 was given (0) | 2020.09.17 |