Найти - Пользователи
Полная версия: Прозрачный background tkinter.Label
Начало » GUI » Прозрачный background tkinter.Label
1
Kemok
Здравствуйте!
Подскажите пожалуйста, возможно ли сделать фон Label прозрачным или чтобы отображался только текст без фона?
Заранее благодарю.
Kemok
Неужели такая очевидная функция не предусмотрена? Странное это.
PEHDOM
Шта? правильно сформулированый вопрос способствует правильному ответу. пока непонятно что вы хотите. Лучше всего выложить запускабельный небольшой пример который демонстрирует вашу проблему.
Kemok
Вот пример кода:
 import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
bg = tk.PhotoImage(file='background.png')
fon = tk.Label(image=bg)
lab = tk.Label(text='Some Label')
fon.grid()
lab.grid(row=0, column=0, sticky=tk.NW)
root.mainloop()
Есть ли возможность сделать у объекта lab прозрачный фон?
PEHDOM
Kemok
Есть ли возможность сделать у объекта lab прозрачный фон?
в такой реализации нету, tkinter.Label не имеет возможности установить прозрачныость фона, и допилить ХЗ как…
Везде советуют создавать канвас и по нему рисовать текст. Примерно вот так..
 import tkinter as tk
root = tk.Tk()
c = tk.Canvas(width=600, height=400)
c.pack()
bg = tk.PhotoImage(file="postthumb-3-600x400.gif")
c.create_image(300, 200, image=bg)
lab = c.create_text(40, 10, text="Some Text...", fill="Black")
#c.coords(lab, 100, 100)
#d=tk.Button(text="Click")
#d.place(x= 90, y = 5)
root.mainloop()
Kemok
Благодарю! И еще вопрос. Как в этом случае быть с флажками и радиокнопками? Есть ли возможность у них сделать прозрачный фон?
 import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
bg = tk.PhotoImage(file='background.png')
fon = tk.Label(image=bg)
imv = tk.BooleanVar()
che = tk.Checkbutton(root, variable=imv, onvalue=True, offvalue=False)
imv.set(True)
fon.grid()
che.grid(row=0, column=0)
#root.grid_columnconfigure(0, weight=1)
root.mainloop()
PEHDOM
Kemok
Благодарю! И еще вопрос. Как в этом случае быть с флажками и радиокнопками? Есть ли возможность у них сделать прозрачный фон?
нету, у ткинтера вообще с прозрачностью фона полная жопа, кроме прозрачности главного окна. Можно конечно нарисовать свои катринки для чекбаттона:



убрать индикатор, а текст рисоваать поверх канваса через create_text, но всеравно вокруг катринки останеться серая рамочка:

 import tkinter as tk
root = tk.Tk()
c = tk.Canvas(width=600, height=400)
c.pack()
bg = tk.PhotoImage(file="postthumb-3-600x400.gif")
c.create_image(300, 200, image=bg)
lab = c.create_text(40, 10, text="Some Text...", fill="Black")
imv = tk.BooleanVar()
img_off = tk.PhotoImage(file="choff.gif")
img_on = tk.PhotoImage(file="chon.gif")
c.create_window(90, 10, window = tk.Checkbutton(root,indicatoron=False, image=img_off, selectimage=img_on, bd=0, selectcolor=''))
root.mainloop()
результат выглядит вот так

Kemok
Хотя бы так. Благодарю!)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB