#python #tkinter
Вопрос:
Я пытаюсь создать панель загрузки в tkinter, в которой есть несколько разных изображений, чтобы панель загрузки выглядела как анимированная. На производственной панели также есть текст, показывающий, сколько времени осталось.
Проблема в том, что текст должен иметь фон, который портит внешний вид панели загрузки. Поэтому я сделал фоновые изображения для текста. Однако я понял, что метки не могут содержать как изображения (фоновые изображения), так и текст (осталось несколько секунд).
Есть ли способ разрешить надписям содержать изображения и текст? Спасибо.
Определение Percent0Data:
TimeDisplay0Data = PhotoImage(file = os.getcwd() "/appdata/TimeDisplay0.png")
Определение загрузочной планки:
ProductionBar1 = Label(Main,image=Percent0Data,bd=0)
ProductionBar1.place(x=60,y=140)
Настройка текста:
LabelProductionTime1.config(text=str(TimeLeftRelic1).ljust(5,"0") "s")
Настройка фонового изображения:
ProductionBar1.config(image=Percent0Data)
Ответ №1:
Да, ты можешь. Вам нужно указать 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()
Комментарии:
1. Спасибо! Какой тип
compound
лучше всего использовать?2. @SamuelMay нет ничего лучше. Это зависит от того, какой из них вы хотите использовать.