gpt4 book ai didi

python - 在Python Tkinter中按顺序显示多个图像

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:36 25 4
gpt4 key购买 nike

我想制作一个程序,显示初始图像,然后显示文件夹中的最新图像。

除了 Tkinter 面板在窗口中第一个图像下方显示最新图像之外,一切正常。我无法找到一种方法来破坏原始图像或在没有旧图像的情况下制作另一个面板。我复制了下面的相关代码,不确定它是否会无错误地执行。我的 .py 文件运行良好,没有任何错误,只是出现不需要的结果。任何帮助都会很棒。

from Tkinter import *
import Image, ImageTk
import datetime
import sys, os

FILE_PATH = "C:\\easy\\Pics"
#------------------------------------------------------------------------#
def quitX():
root.destroy()
sys.exit()

#------------------------------------------------------------------------#
def prg_task():
# code section removed....

# continue code

im = Image.open("C:\easy\imageNEW.jpg")

image1 = ImageTk.PhotoImage(im)

# get the image size
w = image1.width()
h = image1.height()+10

# position coordinates of root 'upper left corner'
x = 500
y = 200

# make the root window the size of the image
root.geometry("%dx%d+%d+%d" % (w, h, x, y))

# root has no image argument, so use a label as a panel
panel1 = Label(root, image=image1)
panel1.pack(side='top', fill='both')

# put a button on the image panel to test it
button2 = Button(panel1, text='Close Window', command=quitX)
button2.pack(side='bottom')

# save the panel's image from 'garbage collection'
panel1.image = image1

root.after(10000, prg_task)

##########################################################################
# START CODE EXECUTION
# Initializing non-constant global variables

root = Tk()
root.title("Camera")
initIMG = Image.open("C:\easy\No-Image-Available.jpg")
tkimage = ImageTk.PhotoImage(initIMG)
panel1 = Label(root,image=tkimage)
panel1.pack(side='top', fill='both')
#------------------------------------------------------------------------#

# After 0.1s, attempt to grab still image from IP Camera
root.after(100, prg_task)
root.mainloop()

#------------------------------------------------------------------------#

最佳答案

如果您一次只显示一张图像,则应该只创建一次面板和标签。每次您想要显示新图像时,请创建该图像,然后执行类似 self.panel1.configure(image=new_image) 的操作。

关于python - 在Python Tkinter中按顺序显示多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com