0
私はウィンドウのサイズの変化を検出したいので、私はそれを行ったので、Configureメソッドをオーバーライドできると言われましたが、ウィンドウを変更しようとすると、呼び出されるようです。設定メソッドが呼び出されていない
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)
何も印刷されていないので、resizeメソッドには入っていません。何が起こっていますか?
メインウィンドウでキャンバスのサイズを変更するにはどうすればよいですか? –
そのトピックに関連する多くの質問と回答があります。 'grid'を使用している場合、' sticky'オプションを使用する必要があります。余分なスペースが割り当てられるように、行と列の重みを与えなければなりません。 –
ああ、ありがとう。私はそれを調べます –