繁体   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