[英]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.