2018년 2월 4일 일요일

python Tkinter GUI 프로그램에서 lambda를 이용한 버튼 이벤트 처리





python Tkinter GUI 프로그램에서 lambda를 이용한 버튼 이벤트 처리

코드에서 막바로 lambda를 이용한 버튼 클릭 이벤트에 대해서 살펴보자.
아래는 코드이다.
프로그램 실행하면 다음과 같은 윈도우 창이 뜨게 된다.



#-*- coding:utf-8 -*-

# 파이썬 GUI용 툴킷 Tkinter를 import
from Tkinter import *

# Tkinter 윈도우 객체 생성
root = Tk()

# (가로 x 세로 + x위치좌표 + y위치좌표)
root.geometry("500x300+300+200")

def callback(number):
    print "Button-", number

print 'b1'
# btn1 버튼 클릭시 실행할 메소드는 callback()이고
# 이 메소드로 넘길 paramter 값은 111이다.
# 따라서 btn1 버튼 클릭시 아래 내용 출력된다.
# Button- 111
btn1 = Button(text="One", command=lambda: callback(111))
btn1.configure(font=("Consolas", 15), width=20)
btn1.pack(pady=7)

print 'b2'
btn2 = Button(text="Two", command=lambda: callback(222))
btn2.configure(font=("Consolas", 15), width=20)
btn2.pack(pady=7)

print 'b3'
btn3 = Button(text="Three", command=lambda: callback(333))
btn3.configure(font=("Consolas", 15), width=20)
btn3.pack(pady=7)

# Tkinter 윈도우 화면에 표시
root.mainloop()


댓글 없음:

댓글 쓰기