您可以在单个 tkinter 标签中同时显示图像和一些文本吗?

Sam*_*May 1 python tkinter

我正在尝试在 tkinter 中创建一个加载栏,它有几个不同的图像,使加载栏看起来像是动画的。生产栏还有一些文本显示剩余时间。

问题在于,因为文本必须有背景,这会破坏加载栏的外观。所以我为文字制作了背景图片。但是,我意识到标签不能同时包含图像(背景图片)和文本(剩余几秒)。

有没有办法让标签有图像和文字?谢谢。

定义 Percent0Data:

TimeDisplay0Data = PhotoImage(file = os.getcwd()+"/appdata/TimeDisplay0.png")
Run Code Online (Sandbox Code Playgroud)

定义加载栏:

ProductionBar1 = Label(Main,image=Percent0Data,bd=0)
ProductionBar1.place(x=60,y=140)
Run Code Online (Sandbox Code Playgroud)

设置文本:

LabelProductionTime1.config(text=str(TimeLeftRelic1).ljust(5,"0")+"s")
Run Code Online (Sandbox Code Playgroud)

设置背景图片:

ProductionBar1.config(image=Percent0Data)
Run Code Online (Sandbox Code Playgroud)

Art*_*Art 6

是的你可以。您需要将compound参数指定为选项之一: tk.LEFT, tk.RIGHT, tk.CENTER, tk.BOTTOM, tk.TOP

最小的例子:

from tkinter import *
from PIL import Image, ImageTk


root = Tk()

image = ImageTk.PhotoImage(Image.open(r'imgpath')) 

Label(root, text='Hello', image=image, compound='center').pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)