正如您从以下代码中看到的,我已将文本标签绑定(bind)到函数 prt()
。
我希望将相同的绑定(bind)应用于图像。
我尝试为图像创建标签,但似乎没有选项。
代码如下:
import tkinter as tk
from PIL import ImageTk, Image
def prt (txt):
print(txt)
root = tk.Tk()
i = Image.open("image_name/path")
retweet_img = ImageTk.PhotoImage(i)
text = tk.Text(root, height = 5, width = 10, cursor ="hand2")
text.pack()
text.insert(tk.END, "Press\n", "txt_click")
text.tag_bind("txt_click", "<Button-1>", lambda event: prt("TEXT BIND WORKS"))
text.image_create("2.0", image=retweet_img)
text.tag_bind(retweet_img, "<Button-1>", lambda event: prt("IMAGE BIND WORKS"))
root.mainloop()
最佳答案
文本小部件标签是在索引范围内分配的。创建并配置标签,然后将其应用到包含您的图像的范围。例如:
tag = "RETWEET"
index = "2.0"
imgname = text.image_create(index, image=retweet_img)
text.tag_add(tag, index, "{0} + 1 char".format(index))
text.tag_bind(tag, "<Button-1>", on_image_click)
图片占1个字符
关于python - 如何将 Tkinter Text 小部件中的图像绑定(bind)到事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070292/