簡體   English   中英

如何檢查它是否正在運行一個類?

[英]How to check if it has a class running?

我制作了這個基本代碼只是為了發送到這里看看我是否能找到解決方案。

我希望代碼執行以下操作:當我按下按鈕時,它會用另一個按鈕調用另一個類,如果我再次按下按鈕,它將檢查該類是否仍在顯示,以免添加另一個 X 按鈕。 我的代碼供您查看結果並遵循代碼庫供讀者理解。

https://imgur.com/a/UAx6xxd

from tkinter import *
class Window:
    def __init__(self,root):
        self.frame = Frame(root)
        self.frame.pack(side = LEFT)
        self.frame1 = Frame(root)
        self.frame1.pack()
        self.But = Button(self.frame,text = 'Press', command = self.ButOk)
        self.But.pack(side = LEFT,anchor = E)

    def ButOk(self):
        self.Aux = False
        self.Aux = not self.Aux
        if self.Aux:
            Window1(root)

class Window1:
    def __init__(self,root):
        self.fram = Frame(root)
        self.fram.pack(side = LEFT)
        self.fram1 = Frame(root)
        self.fram1.pack()

        self.But = Button(self.fram, text = 'X',command = self.close)
        self.But.pack(side =RIGHT,anchor = W)
    def close(self):
        self.Aux1 = False
        self.Aux1 = not self.Aux1
        if self.Aux1:
            self.fram.pack_forget()
root=Tk()
Window(root)
root.mainloop()

我期望當用戶按下按鈕時不會生成這個“窗口”的結果。

如果我正確理解了您的問題,您希望確保不會通過多次單擊根級窗口上的按鈕來創建多個窗口。

創建多個窗口時,請嘗試使用TopLevel小部件。 此外,您可以使用以下代碼檢查 Toplevel 小部件是否存在:

if tkinter.Toplevel.winfo_exists(toplevel_name)==1:
    self.Aux = False

暫無
暫無

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

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