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()



+ Recent posts