我創建了一個 python tkinter 程式,我想在視窗上顯示一系列影像,其中影像每 6 秒更改一次。當我使用下面的代碼時,整個程式凍結了整整 6 秒。
loopey = "Fal"
while loopey == "Fal":
time.sleep(6)
menupic.place_forget()
menupic2.place(x=602,y=180)
home.update()
time.sleep(6)
menupic2.place_forget()
menupic.place(x=602,y=180)
home.update()
我也嘗試使用 after() 函式,但遇到了同樣的問題。
def deletion(thing):
thing.place_forget()
while True:
home.after(6000, deletion(menupic))
menupic2.place(x=602,y=180)
home.update()
home.after(6000, deletion(menupic2))
menupic.place(x=602,y=180)
home.update()
uj5u.com熱心網友回復:
我會這樣做:
from tkinter import *
from PIL import Image, ImageTk
from random import randint
import numpy as np
def place_image():
npimg = np.zeros([100,100,3],dtype=np.uint8)
npimg.fill(randint(0, 255))
pilimg = Image.fromarray(npimg)
tkimg = ImageTk.PhotoImage(pilimg)
label.img = tkimg
label.configure(image=tkimg)
home.after(6000, place_image)
home = Tk()
label = Label(home, text="test")
label.place(x=0, y=0)
home.after(6000, place_image)
home.mainloop()
如果您還在函式中使用 after(),您仍然可以與視窗進行互動。它仍將每 6 秒回圈一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/511687.html
標籤:Pythonpython-3.x图片用户界面tkinter
上一篇:使用JComobBox,查找2個數字的結果并輸出到結果(Java)
下一篇:可執行檔案未在雙擊時運行
