0

我正在使用 Python Tkinter 创建一个应用程序,在该应用程序中,我为用户提供了将图像插入文本小部件的选项。我知道,当您插入图像并且未指定name属性时,tkinter 会自动生成一个。还有一种方法可以name使用该方法获取文本小部件中所有 s的元组text.image_names()。我看过的所有与文本小部件图像相关的方法都只将图像的索引作为属性。但是,我不知道图像的索引。

如果有人能告诉我是否有一种方法可以让函数图像的name属性是一个属性,并获得索引作为回报,那就太好了。

4

1 回答 1

2

您可以使用Text.index()图像名称来获取"line.column"格式的图像索引。

下面是一个例子:

import tkinter as tk

root = tk.Tk()

text = tk.Text(root, width=80, height=20)
text.pack()

text.insert('end', 'This is line 1\n')
text.insert('end', 'Embed an image ')
img = tk.PhotoImage(file='sample.png')
text.image_create('end', image=img, name='img1')
text.insert('end', ' in a line')

print('Image with name "img1" is at index', text.index('img1'))

root.mainloop()

您将进入Image with name "img1" is at index 2.15控制台。

于 2020-10-22T08:45:04.287 回答