使用 Tkinter 显示 PNG 下的文本 Python
Text under PNG display using Tkinter Python
我正在研究 tkinter,我想做的是在文本上显示一个取消符号 (PNG),它将在 PNG 背景中显示价格。
到目前为止,我能够使用 tkinter.label() 的 "compound" 选项在图像上正确显示文本。
但是我已经尝试了不同的方法来将 PNG 放在文本之上,但到目前为止我还没有成功。
我想做的事情完全可行吗?如果是,请指导,如果不是,请建议我解决方法。我可以使用可用功能做的最接近的是什么。
我什至尝试使用 canvas.draw() 制作取消标志,但这也隐藏了文本。
请帮帮我
此致
在 tkinter 中的文本顶部显示部分透明的 PNG 的最佳解决方案可能是将 Canvas
与 create_text()
和 create_image()
方法一起使用。
示例代码(Python2.x):
import Tkinter as tk
from PIL import ImageTk
from io import BytesIO
from urllib import urlopen
root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
canvas.create_text(150, 150, text="word word word word word word word word")
url = "https://www.dropbox.com/s/etqan5h62d14mv8/Pikachu-PNG-Photos.png?dl=1"
img = ImageTk.PhotoImage(file=BytesIO(urlopen(url).read()))
canvas.create_image(150, 150, image=img)
root.mainloop()
对于 Python 3.x,在导入语句中使用以下内容:
import tkinter as tk
from urllib.request import urlopen
你应该得到这个:
我正在研究 tkinter,我想做的是在文本上显示一个取消符号 (PNG),它将在 PNG 背景中显示价格。
到目前为止,我能够使用 tkinter.label() 的 "compound" 选项在图像上正确显示文本。 但是我已经尝试了不同的方法来将 PNG 放在文本之上,但到目前为止我还没有成功。
我想做的事情完全可行吗?如果是,请指导,如果不是,请建议我解决方法。我可以使用可用功能做的最接近的是什么。 我什至尝试使用 canvas.draw() 制作取消标志,但这也隐藏了文本。
请帮帮我
此致
在 tkinter 中的文本顶部显示部分透明的 PNG 的最佳解决方案可能是将 Canvas
与 create_text()
和 create_image()
方法一起使用。
示例代码(Python2.x):
import Tkinter as tk
from PIL import ImageTk
from io import BytesIO
from urllib import urlopen
root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
canvas.create_text(150, 150, text="word word word word word word word word")
url = "https://www.dropbox.com/s/etqan5h62d14mv8/Pikachu-PNG-Photos.png?dl=1"
img = ImageTk.PhotoImage(file=BytesIO(urlopen(url).read()))
canvas.create_image(150, 150, image=img)
root.mainloop()
对于 Python 3.x,在导入语句中使用以下内容:
import tkinter as tk
from urllib.request import urlopen
你应该得到这个: