如何检查它是否有 class 运行?
How to check if it has a class running?
我做了这个基本代码只是为了发送到这里看看我是否能找到解决方案。
我希望代码执行以下操作:当我按下按钮时,它会调用另一个 class 和另一个按钮,如果我再次按下按钮,它将检查 class仍在显示,以免添加另一个 X 按钮。我的代码供您查看结果,并遵循代码库供读者理解。
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()
我希望用户按下按钮时不会生成 "windows"。
如果我对您的问题的理解正确,您希望确保多个 windows 不是通过多次单击根级别 window 上的按钮创建的。
创建多个 windows 时,请尝试使用 TopLevel 小部件。
此外,您可以使用以下代码检查 Toplevel 小部件是否存在:
if tkinter.Toplevel.winfo_exists(toplevel_name)==1:
self.Aux = False
我做了这个基本代码只是为了发送到这里看看我是否能找到解决方案。
我希望代码执行以下操作:当我按下按钮时,它会调用另一个 class 和另一个按钮,如果我再次按下按钮,它将检查 class仍在显示,以免添加另一个 X 按钮。我的代码供您查看结果,并遵循代码库供读者理解。
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()
我希望用户按下按钮时不会生成 "windows"。
如果我对您的问题的理解正确,您希望确保多个 windows 不是通过多次单击根级别 window 上的按钮创建的。
创建多个 windows 时,请尝试使用 TopLevel 小部件。 此外,您可以使用以下代码检查 Toplevel 小部件是否存在:
if tkinter.Toplevel.winfo_exists(toplevel_name)==1:
self.Aux = False