我正在嘗試使用Guizero在 python 3 中制作幻燈片。我似乎無法使下一個和后退按鈕與時間重置一起使用。
from guizero import *
app = App(bg='#121212',title='Guizero - slide show',width=500,height=500)
#list of images
images = ["img1.jpg", "img2.png", "img3.jpg", "img4.jpg"]
#sets what slide to start with
current_slide=0
#changes current slide displayed
def slideShow():
global current_slide
if len(images)-1>current_slide:
current_slide =1
picture.image=images[current_slide]
else:
current_slide=0
picture.image=images[current_slide]
#Function runs to change slide on button push
def slide_change(Change):
global current_slide
current_slide =Change
picture.image=images[current_slide]
#starter image
picture = Picture(app, image=images[0])
#set picture size
picture.width=app.width-100
picture.height=app.height-100
#Time based loop
picture.repeat(2000, slideShow)
#Buttons to change slides
Back_button = PushButton(app, text='Back',command = lambda:slide_change(-1))
Back_button.text_color='white'
Next_button = PushButton(app, text='Next',command = lambda:slide_change(1))
Next_button.text_color='white'
app.display()
我正在嘗試做的事情
- 按下按鈕時在幻燈片之間移動
- 更換幻燈片后的重置時間(每張幻燈片 2 秒)
我正在使用什么
- 蟒蛇 3.7.9
- 貴澤 1.3.0
uj5u.com熱心網友回復:
from guizero import *
app = App(bg='#121212',title='Guizero - slide show',width=500,height=500)
#list of images
images = ["img1.jpg", "img2.png", "img3.jpg", "img4.jpg"]
#sets what slide to start with
current_slide=0
time_per_slide=2000
#changes current slide displayed
def slideShow():
global current_slide
if len(images)-1>current_slide:
current_slide =1
picture.image=images[current_slide]
else:
current_slide=0
picture.image=images[current_slide]
#Function runs to change slide on button push
def nextImage():
global current_slide
if current_slide < len(images)-1:
current_slide =1
else:
current_slide=0
picture.image=images[current_slide]
app.cancel(slideShow)
#Restarts slide show
picture.repeat(time_per_slide, slideShow)
def previousImage():
global current_slide
if current_slide > 0:
current_slide-=1
else:
current_slide=len(images)-1
picture.image=images[current_slide]
app.cancel(slideShow)
#Restarts slide show
picture.repeat(time_per_slide, slideShow)
#starter image
picture = Picture(app, image=images[0])
#set picture size
picture.width=app.width-100
picture.height=app.height-100
#Time based loop
picture.repeat(time_per_slide, slideShow)
#Buttons to change slides
Back_button = PushButton(app, text='Back', command =previousImage)
Back_button.text_color='white'
Next_button = PushButton(app, text='Next',command =nextImage)
Next_button.text_color='white'
app.when_closed=quit
app.display()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490468.html
標籤:python-3.x 循环 tkinter 幻灯片 吉泽罗
