簡體   English   中英

在python中一次打開多個窗口

[英]Multiple windows open at once in 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.()

也許您正在尋找這樣的東西:

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()”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM