我想一次顯示一張影像這是我為 2 張影像撰寫的代碼。但它不像我想要的那樣作業。我希望在第一個完全完成后需要 10 秒延遲然后運行第二個廣告。
def ad():
global pop
pop=Toplevel(root)
pop.geometry('1600x900')
global pic
pic=PhotoImage(file='ad.png')
label_pop = Label(pop, image=pic)
label_pop.grid()
pop.overrideredirect(1)
pop.after(5000, lambda: pop.destroy())
#ad 2
global pop2
pop2=Toplevel(root)
pop2.geometry('1600x900')
global pic2
pic2=PhotoImage(file='j..png')
label_pop2 = Label(pop2, image=pic2)
label_pop2.grid()
pop2.overrideredirect(1)
pop2.after(5000, lambda: pop2.destroy())
root.after(15000, ad)
root.after(5000,ad)
uj5u.com熱心網友回復:
創建要顯示的影像的回圈串列,然后itertools.cycle()您可以使用.next()
下面是一個例子:
...
from itertools import cycle
...
# a cycle list of images you want to show
imagelist = cycle(['ad1.png', 'ad2.png', ...])
def ad():
pop = Toplevel(root)
pop.geometry('1600x900')
pop.overrideredirect(1)
pic = PhotoImage(file=next(imagelist)) # get next image using next()
label_pop = Label(pop, image=pic)
label_pop.grid()
label_pop.image = pic # save reference of image to avoid garbage collection
root.after(5000, pop.destroy)
root.after(15000, ad)
root.after(5000, ad)
...
uj5u.com熱心網友回復:
- 您需要為每個影像使用不同的檔案名。
- 您可以使用時間模塊,專門
time.delay()用于延遲。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/446478.html
上一篇:(已解決)無法通過pythons.insert()方法將文本插入到駐留在另一個檔案中的tkinterText()小部件
