【发布时间】:2019-11-24 15:22:00
【问题描述】:
对于我更大的应用程序,我有一个在右键单击时生成的 Tk 框架。我希望窗口的所有焦点都指向此框架(如果用户单击父级上的按钮则什么都不会发生),然后当框架被销毁时,我希望它恢复正常。我创建了一个最小的示例来演示我尝试做的事情,但它不起作用。
我只是希望在单击 Disable Outer 后禁用 Root 按钮(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()
【问题讨论】:
标签: python user-interface events tkinter frames