Небольшая программа, над которой я работаю с использованием python, предназначена для отображения серии изображений и аудиоклипов в определенном порядке. Я могу отобразить два изображения в одном и том же окне, одно накладывать на другое, как и предполагалось, но я ищу способ, чтобы второе изображение появилось через определенное время (30 секунд), а не сразу как программа запущена. Однако я не могу заставить второй образ, называемый textBox.jpg
, запускаться отдельно от остальной программы.
Чтобы попытаться решить эту проблему, я вставил функцию sleep()
, но это только задерживает запуск всего кода.
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk
import time
# Title/Main
window = Tk()
window.title("Just Monika")
window.configure(background="black")
# control window size to make full-screen
width_value=window.winfo_screenwidth()
height_value=window.winfo_screenheight()
window.geometry("%dx%d+0+0" % (width_value, height_value))
# Monika photo
# this block will allow the image to resize to fit the window's size
# indefinitely
def resize_image(event):
new_width = event.width
new_height = event.height
image = copy_of_image.resize((new_width, new_height))
photo = ImageTk.PhotoImage(image)
label.config(image = photo)
label.image = photo #avoid garbage collection
monika = Image.open("C:\\Python Programs\\Just Monika\\Images\\justMonika.png")
copy_of_image = monika.copy()
photo = ImageTk.PhotoImage(monika)
label = ttk.Label(window, image = photo)
label.bind('<Configure>', resize_image)
label.pack(fill=BOTH, expand=YES)
# text box image
textBox = Image.open("C:\\Python Programs\\Just Monika\\Images\\textBox.jpg")
tkTextBox = ImageTk.PhotoImage(textBox)
panel1 = Label(window, image = tkTextBox)
panel1.place(x=675, y=300)
time.sleep(30)
Я хочу, чтобы второе изображение, textBox.jpg
, вызывалось после того, как программа проработала около 30 секунд, а другое изображение уже было отображено.