import tkinter as tk
import PIL
from PIL import ImageTk
from PIL import Image, ImageTk
from tkinter import Frame
button_flag = True
def click():
"""
respond to the button click
"""
global button_flag
# toggle button colors as a test
if button_flag:
self.button1.config(bg="white")
self.button_flag = False
else:
sef.button1.config(bg="green")
self.button_flag = True
class Example(Frame):
def __init__(self, master, *pargs):
Frame.__init__(self, master, *pargs)
self.image = Image.open('slide 1.png')
self.img_copy= self.image.copy()
self.photo = tk.PhotoImage(file="video.png")
self.photo1 = self.photo.subsample(2, 2)
self.background_image = ImageTk.PhotoImage(self.image)
self.background = tk.Label(self, image=self.background_image, text="heyyy")
self.background.pack(fill="both", expand=True)
self.background.bind('<Configure>', self._resize_image)
self.button1 = tk.Button(root, compound=tk.TOP, width=155, height=55, image=self.photo1,
text="optional text", bg='green', command=click)
self.button1.pack()
def _resize_image(self,event):
new_width = event.width
new_height = event.height
self.image = self.img_copy.resize((new_width, new_height))
self.background_image = ImageTk.PhotoImage(self.image)
self.background.configure(image = self.background_image)
root = tk.Tk()
root.title('webmanager')
root.state('zoomed')
e = Example(root)
e.pack(fill="both", expand=True)
root.mainloop()
- Я также хотел бы знать, может ли это быть применимо к слайд-шоу (например, добавление кнопки к каждому изображению). Что ж, пока единственное, что я сделал, это сделал кнопку похожей на заголовок, и затем изображение следует, но, честно говоря, оба размера можно изменить. но мне действительно нужно изображение, чтобы заполнить экран, а затем кнопку на нем. СПАСИБО