0

我正在尝试修改脚本以使其无边界,但我坚持将鼠标事件发送到父小部件的顶部没有子小部件的部分......

class Application:

    def __init__(self, root):
        self.root = root
        self.root.overrideredirect(True)
        self.root.attributes( '-topmost', 1 ) #always on top
        self.root.title('ReaChorder')
        ttk.Frame(self.root, borderwidth=5, relief="sunken", width=740,height=300)#.pack()
        self.init_widgets()


    def init_widgets(self):
        fn = (my_path + '/bg_740x300.gif') ;  self.bg = Tkinter.PhotoImage(file=fn)
        self.bgLabel = ttk.Label(self.root, image=self.bg)
        self.bgLabel.place(x=0, y=0, relwidth=1, relheight=1)
        self.bgLabel.bind("<ButtonPress-1>", self.StartMove)
        self.bgLabel.bind("<ButtonRelease-1>", self.StopMove)
        self.bgLabel.bind("<B1-Motion>", self.OnMotion)
        self.bgLabel.pack()
        self.bgLabel.pack_propagate(False)

        self.btns = ttk.Button(self.bgLabel,  text='Draw chords into MIDI take...', width='25')
        self.btns.place(x=562, y=260) 
        self.btns.bind('<Button-1>', lambda event: self.drawMidiNow())

...没有调用绑定到 bgLabel 的鼠标事件。有人能指出小学生的错误吗?

4

1 回答 1

0

您是否知道事件仅在发生事件的小部件上报告?如果您在标签上设置绑定,则该事件仅在您的鼠标悬停在该标签上时才会触发。如果您希望在父级上处理事件,您还需要在父级上设置绑定。

于 2013-09-12T20:11:32.297 回答