Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python модуль Tkinter помогите срочно!

Матвей Гусев Ученик (181), на голосовании 2 месяца назад
Скажите пожалуйста как сделать что бы в этом коде https://pastebin.com/JiLPxF1x (Опубликовал в Pastebin потому что слишком много символов) сделать так, что бы кнопки были поверх фона гифки? Если что фон делал по этому видео https://www.youtube.com/watch?v=678xySB2OdM
Голосование за лучший ответ
Леха Миронов Мастер (2253) 3 месяца назад
ИИ не помог?

Чтобы разместить кнопки поверх фона GIF-изображения в приложении Tkinter, можно использовать следующую технику:

Создайте фрейм, который будет содержать кнопки, поверх GIF-изображения.
Установите прозрачный фон для фрейма с помощью background="transparent".
Разместите фрейм поверх GIF-изображения с помощью frame.place().
Например:
 import tkinter as tk 
from PIL import Image, ImageTk

class ImageLabel(tk.Label):
def load(self, im):
im = Image.open(im)
frames = []

try:
for i in count(1):
frames.append(ImageTk.PhotoImage(im.copy()))
im.seek(i)
except EOFError:
pass

self.frames = cycle(frames)
self.delay = im.info['duration']

if len(frames) == 1:
self.config(image=next(self.frames))
else:
self.next_frame()

def next_frame(self):
if self.frames:
self.config(image=next(self.frames))
self.after(self.delay, self.next_frame)

class InstallerApp:
def __init__(self, root):
"""
Инициализация основного окна приложения и его элементов.
"""
self.root = root
self.root.title("Установщик")

# Создание фрейма для кнопок
self.button_frame = tk.Frame(root, background="transparent")
self.button_frame.place(relx=0.5, rely=0.5, anchor=tk.CENTER)

# Создание кнопки "Выберите папку"
self.select_button = tk.Button(self.button_frame, text="Выберите папку", command=self.select_folder)
self.select_button.pack(pady=20)

# Метка для отображения выбранного пути
self.path_label = tk.Label(self.button_frame, text="")
self.path_label.pack(pady=10)

# Кнопка "Загрузить модификации"
self.load_button = tk.Button(self.button_frame, text="Загрузить модификации", command=self.load_modifications)
self.load_button.pack(pady=20)
self.load_button.pack_forget() # Скрываем кнопку до выбора папки

if __name__ == "__main__":
root = tk.Tk()

# Создание объекта GIF-изображения
lb = ImageLabel(root)
lb.pack()
lb.load("image2.gif")

app = InstallerApp(root)
root.resizable(width=False, height=False)
root.geometry("500x250")
root.mainloop()
В этом коде фрейм button_frame размещается в центре основного окна и имеет прозрачный фон. Затем кнопки размещаются внутри этого фрейма, что позволяет им располагаться поверх GIF-изображения.
Похожие вопросы