tkinter运行后出来一个tk空白窗口

如题,运行后有题目为tk的空白窗口,怎么删掉

fifth = Tk()

def f():
    fourth.update()
    fourth.destroy()
    fifth = Toplevel()
    fifth.geometry("800x800")
    fifth.title("最终结果")
    fifth.configure(bg="AntiqueWhite")


    image2 = Image.open(r"C:\Users\29212\Desktop\results.jpg")
    zoom = 1.8
    pixels_x2, pixels_y2 = tuple([int(zoom * x) for x in image2.size])
    img2 = ImageTk.PhotoImage(image2.resize((600, 400)))
    label2 = Label(fifth, image=img2)
    label2.image = img2
    label2.pack()

    image3 = Image.open(r"C:\Users\29212\Desktop\results2.jpg")
    zoom = 1.8
    pixels_x3, pixels_y3 = tuple([int(zoom * x) for x in image3.size])
    img3 = ImageTk.PhotoImage(image3.resize((600, 400)))
    label3 = Label(fifth, image=img3)
    label3.image = img3
    label3.pack()


btn6 = Button(fourth, text="最终结果显示", width=8, command=f)
btn6.place(x=600, y=280)

image1 = Image.open(r"C://Users//29212//Desktop//mbti1.jpg")
zoom = 1.8
pixels_x1, pixels_y1 = tuple([int(zoom * x) for x in image1.size])
img1 = ImageTk.PhotoImage(image1.resize((600, 400)))
label1 = Label(root, image=img1)
label1.image = img1
label1.pack()

引用 皆我百晓生 小程序回复内容作答:
要删除Tkinter窗口,可以使用destroy()方法。在你的代码中,你创建了一个名为fifth的Tkinter窗口,所以你可以使用fifth.destroy()来删除该窗口。修改你的代码如下:

from tkinter import *
from PIL import Image, ImageTk

root = Tk()

def f():
    fourth.update()
    fourth.destroy()
    fifth = Toplevel()
    fifth.geometry("800x800")
    fifth.title("最终结果")
    fifth.configure(bg="AntiqueWhite")

    image2 = Image.open(r"C:\Users\29212\Desktop\results.jpg")
    zoom = 1.8
    pixels_x2, pixels_y2 = tuple([int(zoom * x) for x in image2.size])
    img2 = ImageTk.PhotoImage(image2.resize((600, 400)))
    label2 = Label(fifth, image=img2)
    label2.image = img2
    label2.pack()

    image3 = Image.open(r"C:\Users\29212\Desktop\results2.jpg")
    zoom = 1.8
    pixels_x3, pixels_y3 = tuple([int(zoom * x) for x in image3.size])
    img3 = ImageTk.PhotoImage(image3.resize((600, 400)))
    label3 = Label(fifth, image=img3)
    label3.image = img3
    label3.pack()

    # 添加删除Tkinter窗口的按钮
    btn7 = Button(fifth, text="关闭窗口", width=8, command=fifth.destroy)
    btn7.pack()

btn6 = Button(root, text="最终结果显示", width=8, command=f)
btn6.place(x=600, y=280)

image1 = Image.open(r"C://Users//29212//Desktop//mbti1.jpg")
zoom = 1.8
pixels_x1, pixels_y1 = tuple([int(zoom * x) for x in image1.size])
img1 = ImageTk.PhotoImage(image1.resize((600, 400)))
label1 = Label(root, image=img1)
label1.image = img1
label1.pack()

root.mainloop()

以上代码会在最终结果的窗口中添加一个"关闭窗口"的按钮,点击该按钮即可关闭窗口。

【以下回答由 GPT 生成】

首先,您在代码中创建了两个窗口:fifthfourth。然后在按钮的回调函数中,您销毁了fourth窗口并创建了一个新的fifth窗口。但是,您没有销毁初始的fifth窗口,这就导致了空白窗口的出现。

为了解决这个问题,您可以在创建fifth窗口之前销毁初始的fifth窗口。以下是修改后的代码:

from tkinter import Tk, Toplevel, Button, Label
from PIL import Image, ImageTk

root = Tk()

def f():
    fifth.destroy()  # 销毁初始的 fifth 窗口
    fourth.destroy()  # 销毁 fourth 窗口

    result_window = Toplevel()
    result_window.geometry("800x800")
    result_window.title("最终结果")
    result_window.configure(bg="AntiqueWhite")

    image2 = Image.open(r"C:\Users\29212\Desktop\results.jpg")
    zoom = 1.8
    pixels_x2, pixels_y2 = tuple([int(zoom * x) for x in image2.size])
    img2 = ImageTk.PhotoImage(image2.resize((600, 400)))
    label2 = Label(result_window, image=img2)
    label2.image = img2
    label2.pack()

    image3 = Image.open(r"C:\Users\29212\Desktop\results2.jpg")
    zoom = 1.8
    pixels_x3, pixels_y3 = tuple([int(zoom * x) for x in image3.size])
    img3 = ImageTk.PhotoImage(image3.resize((600, 400)))
    label3 = Label(result_window, image=img3)
    label3.image = img3
    label3.pack()


btn6 = Button(root, text="最终结果显示", width=8, command=f)
btn6.place(x=600, y=280)

image1 = Image.open(r"C://Users//29212//Desktop//mbti1.jpg")
zoom = 1.8
pixels_x1, pixels_y1 = tuple([int(zoom * x) for x in image1.size])
img1 = ImageTk.PhotoImage(image1.resize((600, 400)))
label1 = Label(root, image=img1)
label1.image = img1
label1.pack()

root.mainloop()

这样,在点击按钮后,初始的fifth窗口将会被销毁,然后创建一个新的result_window窗口并显示结果图片。

注意:为了运行此代码,您需要安装Pillow库,可以使用以下命令进行安装:pip install Pillow



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^