使用鼠标在框架中获取标签的小部件名称

时间:2017-02-10 22:58:43

标签: python-2.7 tkinter label frame

Win7 SP1,Python 2.7,Tkinter。

我制作一个框架,然后在其中放置一系列标签。阵列为10w x 24h。

我想点击其中一个标签并返回标签名称,以便我可以改变它的变量。

我知道如何使用列表框,但如何只使用'框架中的标签'?

谢谢,Mark。

1 个答案:

答案 0 :(得分: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()