2017-02-10 14 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()