我有一个Frame(),其中包含另一个Label()。
Frame()有一个绑定事件,在拖动时会移动它。 问题是标签是“在途中”所以当点击标签时, 它不会在小部件下面拾取事件。
有没有办法制作Label(),所以它的点击次数会被忽略并直接通过?
抱歉凌乱的问题。这是一些示例代码:
titlebar = Frame(app, height=20, background='#333333')
titlebar.pack(side='top', fill=X, padx=4, pady=4)
titlebar.bind('<Button-1>', drag_window) # This event should also be triggered through label widget
titlebar_label = Label(titlebar, text='Node Handler',
background='#333333', foreground='#ffffff')
titlebar_label.pack(side='left')
答案 0 :(得分:0)
titlebar.bind_all('<Button-1>', drag_window)
可能是您正在寻找的,来自: tkinter clicks on child do not propagate to parent
尝试2本地化点击:
titlebar_label.bindtags(('.titlebar_label','Label', 'clickthru','.','all'))
titlebar.bind_class('clickthru', '<Button-1>', drag_window)
并更改&#39; bind_all&#39;回到&#39; bind&#39;。