Python TKinter:手动触发绑定事件(具体配置)

The*_*age 0 python events tkinter

我正忙于使用 TKinter GUI,并尝试将其他项目附加到滚动条画布中。滚动条位似乎工作得很好

def canvas_configure(self, event):
    self.canvas.configure(scrollregion=self.canvas.bbox("all"))
canvas.bind("<Configure>", lambda event: self.canvas_configure(event))
Run Code Online (Sandbox Code Playgroud)

配置函数在调整大小时触发得很好,但在附加项目时不会触发,我想知道是否可以手动触发<Configure>(或与此相关的其他事件)

def append_to_canvas(self, parent):
    label = tk.Label(parent, text="Yes")
    label.pack();
    # canvas execute <Configure>
Run Code Online (Sandbox Code Playgroud)

笔记

我目前处理此类情况的方法是仅执行事件将执行的相同函数,例如

def append_to_canvas(self, parent):
    label = tk.Label(parent, text="Yes")
    label.pack()
    event = # create imposter event here
    self.canvas_configure(event)
Run Code Online (Sandbox Code Playgroud)

但这并不总是实用

明晰

我上面使用的例子只是一个例子。我更关心问题的手动触发绑定事件部分。

这适用于其他绑定事件,例如

button.bind("<Button-1>", lambda event: exec_button_click());
Run Code Online (Sandbox Code Playgroud)

The*_*age 5

我想我已经找到了如何做到这一点,看起来有一个用于此功能的函数称为event_generate

self.canvas.event_generate("<Configure>");
Run Code Online (Sandbox Code Playgroud)