,所以我想检测窗口大小的更改,并被告知您可以覆盖配置方法,所以我做到了,但是当我尝试更改窗口时,'t似乎被打电话了。
class ChangingCanvas(tk.Canvas):
def __init__(self,parent,**kwargs):
tk.Canvas.__init__(self,parent,**kwargs)
self.bind("<Configure>", self.resize)
self.height = self.winfo_height()
self.width = self.winfo_width()
def resize(self,event):
self.width = event.width
self.height = event.height
print(self.width, self.height,self.winfo_height())
self.config(width=self.width, height = self.height)
class Application(tk.Frame):
def __init__(self,master=None):
tk.Frame.__init__(self,master)
self.grid()
self.createWidgets()
def createWidgets(self):
self.canvas = ChangingCanvas(self,highlightthickness=0)
self.canvas.grid(column=1,row=1)
什么都没有打印,所以我知道它不会进入调整大小的方法。发生了什么?
未调用该方法,因为您的画布永远不会改变大小。给您的画布具有独特的颜色,您会发现它没有调整大小。这是因为a)当主窗口增长和收缩时,您尚未配置应用程序生长和收缩的应用程序,b)b)您没有配置画布以随着应用程序的增长和收缩而生长和收缩。
<</p>