在python中同时打开多个窗口

2024-10-01 11:39:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python的父窗口上搜索并找到了一些东西,但这不是我想要的。我试着做一个简单的程序,打开一个窗口,然后在前一个窗口关闭后打开另一个窗口。我还试图实现某种循环或睡眠时间来破坏默认情况下的窗口,如果用户没有。这就是我所拥有的(我是新人请不要笑)

 from tkinter import *
 import time
 root = Tk()


 i = 0

 if i < 1:
     root.title("title")
     logo = PhotoImage(file="burger.gif")
     w1 = Label(root, image=logo).pack()
     time.sleep(3)
     root.destroy()
     i = i + 1


 if i == 1:
     root.title("title")
     photoTwo = PhotoImage(file="freedom.gif")
     labelTwo = Label(root, image=photoTwo).pack()
     time.sleep(3)
     root.destroy()
     i = i + 1





 mainloop.()

Tags: imageimportiftimetitlesleeprootgif
2条回答

也许你在找这样的东西:

from tkinter import *
import time




def openNewWindow():
    firstWindow.destroy()


    secondWindow = Tk()
    secondWindow.title("Second Window")

    photoTwo = PhotoImage(file="freedom.gif")
    labelTwo = Label(secondWindow, image=photoTwo).pack()

    secondWindow.mainloop()



firstWindow = Tk()


firstWindow.title("First Window")

logo = PhotoImage(file="burger.gif")
w1 = Label(firstWindow, image=logo).pack()

closeBttn = Button(firstWindow, text="Close!", command=openNewWindow)
closeBttn.pack()

firstWindow.mainloop()

这将在用户单击的第一个窗口中创建一个按钮。然后调用openNewWindow函数,该函数销毁该窗口,并打开第二个窗口。我不确定有没有办法用窗口退出按钮来做这个。在

要创建更可持续的窗口创建,请使用以下命令:

from tkinter import *
import time

def openThirdWindow(previouswindow):
    previouswindow.destroy()


    thirdWindow = Tk()
    thirdWindow.title("Third Window")

    photoTwo = PhotoImage(file="freedom.gif")
    labelTwo = Label(thirdWindow, image=photoTwo).pack()

    thirdWindow.mainloop()

def openSecondWindow(previouswindow):
    previouswindow.destroy()


    secondWindow = Tk()
    secondWindow.title("Second Window")

    photoTwo = PhotoImage(file="freedom.gif")
    labelTwo = Label(secondWindow, image=photoTwo).pack()

    closeBttn = Button(secondWindow, text="Close!", command= lambda: openThirdWindow(secondWindow))
    closeBttn.pack()

    secondWindow.mainloop()


def openFirstWindow():
    firstWindow = Tk()


    firstWindow.title("First Window")

    logo = PhotoImage(file="burger.gif")
    w1 = Label(firstWindow, image=logo).pack()

    closeBttn = Button(firstWindow, text="Close!", command= lambda: openSecondWindow(firstWindow))
    closeBttn.pack()

    firstWindow.mainloop()

openFirstWindow()

这将每个窗口的打开置于一个单独的函数中,并通过按钮将窗口的名称传递到下一个函数中。另一种方法是将窗口名设置为全局的,但这很麻烦。在

函数“lambda:”调用函数,在tkinter中,如果要通过命令传递某些内容,则必须键入此函数。在

我们首先启动整个过程称为“openFirstWindow()”

相关问题 更多 >