2017-02-10 5 views
0

Win7 SP1, Python 2.7, Tkinter.마우스를 사용하여 프레임의 레이블 위젯 이름을 가져옵니다.

프레임을 만들고 레이블 배열을 배치합니다. 배열은 10w x 24h입니다.

이 레이블 중 하나를 클릭하고 레이블 이름을 반환하여 변수를 변경할 수 있습니다.

나는 목록 상자를 사용하는 방법을 알고 있지만 '프레임의 레이블'을 사용하는 방법을 알고 있습니까?

감사합니다.

답변

0

레이블 이름이 필요하지 않으며 레이블 외에 유용한 이름이 없습니다. 이벤트가 발생하면 위젯 속성을 쿼리하거나 수정하는 데 사용할 수있는 위젯에 대한 참조가 제공됩니다.

다음은 레이블을 클릭하여 변경할 수있는 방법의 예입니다. 프로그램을 실행 한 다음 원하는대로 자주 레이블을 클릭하십시오.

import Tkinter as tk 
import time 

def on_click(event): 
    now = time.strftime("%H:%M:%S") 
    event.widget.configure(text="you clicked me at %s" % now) 

root = tk.Tk() 
for row in range(4): 
    for col in range(4): 
     label = tk.Label(root, width=25, borderwidth=1, relief="sunken") 
     label.grid(row=row, column=col, padx=2, pady=2) 
     label.bind("<1>", on_click) 

root.mainloop()