如何在按下按钮时禁用 tkinter 框架?
How can I disable a tkinter frame upon pressing a button?
对于我更大的应用程序,我有一个 Tk 框架,它在右键单击时生成。我希望 window 的所有焦点都指向此框架(如果用户单击父级上的按钮,则什么也不会发生),然后当框架被销毁时,我希望它恢复正常。我创建了一个最小示例来演示我尝试做的事情,但它不起作用。
我只想在单击“禁用外部”后禁用“根”按钮(Say hi)。
import tkinter as tk
class app(tk.Frame):
def __init__(self, parent,*args,**kwargs):
tk.Frame.__init__(self, parent,*args,**kwargs)
self.parent=parent
toggler = tk.Button(self,text='DISABLE OUTER',command=self.toggleMain)
toggler.pack(padx=20,pady=20)
def toggleMain(self):
status= self.parent.grab_status()
if not status:
print('Outer Is Disabled (Hi Should not work)')
self.parent.grab_set_global()
else:
print('Outer is Enabled (Hi should work)')
self.parent.grab_release()
root = tk.Tk()
app = app(root,bg='red')
app.pack()
def SayHi():
print('Hi There')
f=tk.Button(root,text='Say Hi',command=SayHi)
f.pack()
root.mainloop()
我不确定你想做什么,但如果你只想禁用显示“"Say Hi" 是禁用它的按钮。
import tkinter as tk
class app(tk.Frame):
def __init__(self, parent,*args,**kwargs):
tk.Frame.__init__(self, parent,*args,**kwargs)
self.parent=parent
toggler = tk.Button(self,text='DISABLE OUTER',command=self.toggleMain)
toggler.pack(padx=20,pady=20)
def toggleMain(self):
status= self.parent.grab_status()
if not status:
print('Outer Is Disabled (Hi Should not work)')
self.grab_set()
else:
print('Outer is Enabled (Hi should work)')
self.grab_release()
root = tk.Tk()
app = app(root,bg='red')
app.pack()
def SayHi():
print('Hi There')
f=tk.Button(root,text='Say Hi',command=SayHi)
f.pack()
root.mainloop(
对于我更大的应用程序,我有一个 Tk 框架,它在右键单击时生成。我希望 window 的所有焦点都指向此框架(如果用户单击父级上的按钮,则什么也不会发生),然后当框架被销毁时,我希望它恢复正常。我创建了一个最小示例来演示我尝试做的事情,但它不起作用。
我只想在单击“禁用外部”后禁用“根”按钮(Say hi)。
import tkinter as tk
class app(tk.Frame):
def __init__(self, parent,*args,**kwargs):
tk.Frame.__init__(self, parent,*args,**kwargs)
self.parent=parent
toggler = tk.Button(self,text='DISABLE OUTER',command=self.toggleMain)
toggler.pack(padx=20,pady=20)
def toggleMain(self):
status= self.parent.grab_status()
if not status:
print('Outer Is Disabled (Hi Should not work)')
self.parent.grab_set_global()
else:
print('Outer is Enabled (Hi should work)')
self.parent.grab_release()
root = tk.Tk()
app = app(root,bg='red')
app.pack()
def SayHi():
print('Hi There')
f=tk.Button(root,text='Say Hi',command=SayHi)
f.pack()
root.mainloop()
我不确定你想做什么,但如果你只想禁用显示“"Say Hi" 是禁用它的按钮。
import tkinter as tk
class app(tk.Frame):
def __init__(self, parent,*args,**kwargs):
tk.Frame.__init__(self, parent,*args,**kwargs)
self.parent=parent
toggler = tk.Button(self,text='DISABLE OUTER',command=self.toggleMain)
toggler.pack(padx=20,pady=20)
def toggleMain(self):
status= self.parent.grab_status()
if not status:
print('Outer Is Disabled (Hi Should not work)')
self.grab_set()
else:
print('Outer is Enabled (Hi should work)')
self.grab_release()
root = tk.Tk()
app = app(root,bg='red')
app.pack()
def SayHi():
print('Hi There')
f=tk.Button(root,text='Say Hi',command=SayHi)
f.pack()
root.mainloop(