簡體   English   中英

有沒有辦法在 tkinter 中使用 destroy() 關閉窗口后重新打開窗口?

[英]Is there a way to reopen a window after closing it using destroy() in tkinter?

window6.after(1,lambda:window6.destroy())

是我一直用來關閉窗戶的東西,這樣做后有什么辦法讓它們恢復原狀嗎? 基本上,有什么與此相反的嗎?

附: 這些是我導入的庫,如果有幫助的話

import tkinter as tk
from tkinter import *
import time
from tkinter import ttk

有沒有辦法在 tkinter 中使用 destroy() 關閉窗口后重新打開窗口?

最簡潔的答案是不”。 一旦被摧毀,就不可能再回來了。 您應該通過框架或類創建窗口,以便輕松重新創建,或者通過調用.withdraw()而不是.destroy()來隱藏窗口。

如果您將窗口代碼放入類或函數中,那么在銷毀它之后,您可以通過以下方式創建它的新實例

1:用init函數中的window代碼創建類的新實例

2:調用具有窗口代碼的函數

通過這樣做,您實際上是在創建程序的新實例,但無需啟動腳本。

from tkinter impot *
from tkinter import ttk

#creating window function, not class
def main_window():
    #window code here 
    root = Tk()
    Label(root, text = "Hello World").pack()
    
    #destroying main window
    root.destroy()
    
    root.mainloop()

main_window()

當然,有一些障礙,例如窗口一打開就關閉,但這是為了表明您可以從程序中創建窗口的新實例。

您可以等待用戶輸入以查看窗口是打開還是關閉。

暫無
暫無

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

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