python - 如何使用 tkinter gui 转到幻灯片中的下一张图片
python - how to go to next image in slideshow using tkinter gui
我正在尝试制作照片幻灯片程序。它不工作,因为我想使用 self.counter 变量转到列表中的下一张照片,但是 self.counter 的值返回到 0,因为它忘记了我更改值的事实.我不认为我可以使用配置,因为转到下一张图片的按钮也不起作用。
希望你能帮上忙 :) 非常感谢。
from tkinter import *
class SlideShowGUI:
def __init__(self, parent, counter = 0):
self.counter = counter
self.images_list = ["smiley.png", "carrot.png", "bunny.jpg"]
self.photo = PhotoImage(file = self.images_list[self.counter])
self.b1 = Button(parent, text = "", image = self.photo, bg = "white")
self.b1.grid(row = 0, column = 0)
back = Button(parent, width = 2, anchor = W, text = "<", relief = RIDGE, command = self.previous_image)
back.grid(row = 1, column = 0)
forward = Button(parent, width = 2, anchor = E, text = ">", relief = RIDGE, command = self.next_image)
forward.grid(row = 1, column = 1)
def previous_image(self):
self.counter -= 1
self.photo.configure(file = self.images_list[self.counter])
def next_image(self):
self.counter += 1
self.photo.configure(file = self.images_list[self.counter])
#main routine
if __name__ == "__main__":
root = Tk()
root.title("hello")
slides = SlideShowGUI(root)
root.mainloop()
抱歉,如果没有获取图像,它将无法工作!
如果我点击下一步按钮两次会出现错误消息
改用这个:
def previous_image(self):
self.counter -= 1
self.photo.configure(file = images_list[self.counter])
def next_image(self):
self.counter += 1
self.photo.configure(file = images_list[self.counter])
除了你必须注意 List Out Of Index
错误
另外,您为什么要使用 global images_list
?似乎没有意义。如果您想在 class 中重用该列表,您可以将其命名为 self.images_list = [your, items]
.
您得到的错误:
我正在尝试制作照片幻灯片程序。它不工作,因为我想使用 self.counter 变量转到列表中的下一张照片,但是 self.counter 的值返回到 0,因为它忘记了我更改值的事实.我不认为我可以使用配置,因为转到下一张图片的按钮也不起作用。
希望你能帮上忙 :) 非常感谢。
from tkinter import *
class SlideShowGUI:
def __init__(self, parent, counter = 0):
self.counter = counter
self.images_list = ["smiley.png", "carrot.png", "bunny.jpg"]
self.photo = PhotoImage(file = self.images_list[self.counter])
self.b1 = Button(parent, text = "", image = self.photo, bg = "white")
self.b1.grid(row = 0, column = 0)
back = Button(parent, width = 2, anchor = W, text = "<", relief = RIDGE, command = self.previous_image)
back.grid(row = 1, column = 0)
forward = Button(parent, width = 2, anchor = E, text = ">", relief = RIDGE, command = self.next_image)
forward.grid(row = 1, column = 1)
def previous_image(self):
self.counter -= 1
self.photo.configure(file = self.images_list[self.counter])
def next_image(self):
self.counter += 1
self.photo.configure(file = self.images_list[self.counter])
#main routine
if __name__ == "__main__":
root = Tk()
root.title("hello")
slides = SlideShowGUI(root)
root.mainloop()
抱歉,如果没有获取图像,它将无法工作!
如果我点击下一步按钮两次会出现错误消息
改用这个:
def previous_image(self):
self.counter -= 1
self.photo.configure(file = images_list[self.counter])
def next_image(self):
self.counter += 1
self.photo.configure(file = images_list[self.counter])
除了你必须注意 List Out Of Index
错误
另外,您为什么要使用 global images_list
?似乎没有意义。如果您想在 class 中重用该列表,您可以将其命名为 self.images_list = [your, items]
.
您得到的错误: