簡體   English   中英

如何跟蹤單擊了哪個文本條目?

[英]How can I keep track of which text entry is clicked?

如果我有一個文本綁定到鼠標單擊的 Tkinter 文本小部件,我如何跟蹤用戶單擊的文本? 我希望該函數返回單擊的標簽編號,但就目前而言,它只打印 n 的最后一個值,即 5。例如,如果用戶單擊“名稱 1”,我希望它打印“1”,如果用戶單擊“名稱 2”,我希望它返回“2”。

這是代碼:

import tkinter as tk

def prt(num):
    print(num)

root = tk.Tk()

t = tk.Text(root, height=20, width=50)
t.pack()
for n in range(1, 6):
    t.insert(tk.END, "%s %d\n" % ("Name", n), "label")
    t.tag_bind("label", "<Button-1>", lambda event, num = n: prt(num))

root.mainloop()

任何幫助表示贊賞。

感謝 jasonharper 提供答案。 這是工作代碼。

import tkinter as tk

def prt(num):
    print(num)

root = tk.Tk()

t = tk.Text(root, height=20, width=50)
t.pack()
for n in range(1, 6):

    t.insert(tk.END, "%s %d\n" % ("Name", n), "label%d" % n)

    t.tag_bind("label%d" % n, "<Button-1>", lambda event, num = n: prt(num))

root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM