簡體   English   中英

如何不使用按鈕關閉tkinter窗口而不完全關閉Python?

[英]How to close tkinter window without a button and not closing Python completely?

我知道有一些命令,例如.destroy() .exit()等。但是,當從按鈕參數中將它們從“命令”中取出時,按下該按鈕時要執行的操作將不起作用。

我的情況是,當用戶成功登錄時,Tkinter窗口及其小部件應在pygame中的GUI打開后不久關閉。 我只是不希望Tkinter窗口出現在我不再需要它而又不退出Python的情況下。 我不需要按鈕,因為我希望過程是自動的。

讓我感到困惑的是為什么當獨自執行此命令時,它不起作用:

Button(root, text="Quit", command=root.destroy).pack() #works
root.destroy() #don't works

在沒有看到更多的源代碼,我想這個問題是基於你在哪里調用root.destroy()

如果它在阻塞tk.mainloop() ,它將永遠無法到達。 請閱讀Tkinter了解有關此問題的mainloop

基於以上可能的解決方案:

while True:
    tk.update_idletasks()
    tk.update()
    if login_successful: # or whatever your login check looks like
        root.destroy()

mainloop用自定義循環替換mainloop循環,其中包括檢查是否成功登錄。

暫無
暫無

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

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