python - 如何将 Tkinter Text 小部件中的图像绑定(bind)到事件?

标签 python tkinter

正如您从以下代码中看到的,我已将文本标签绑定(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/

相关文章:

python - 笨拙的 lambda 函数

python - pandas.to_datetime 时间字符串格式不一致

Python:我想装饰 MethodType 属性而不将属性类型更改为 FunctionType

python - 将字典与其自身进行比较,但如果已经比较,则避免对键进行两次比较

python - 用于更改文本颜色的 RadioButtons 命令 (tkinter)

python - 删除 tkinter 中按钮之间的空格

python - 如何正确绘制具有偏移坐标的六边形?

python - tkinter menu checkbutton - 防止菜单关闭

python - 如何从多个 Checkbutton Tkinter 获取值(value)

python - 加密——怎么做