簡體   English   中英

Tkinter的:沒有鼠標事件給父母

[英]Tkinter: not getting mouse events to parent

我試圖修改腳本以使其無邊界,但是我一直堅持將鼠標事件傳遞到父窗口小部件的頂部,而子窗口小部件不在頂部。

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的鼠標事件均未調用。 有人會指出小學生的錯誤嗎?

您是否知道事件僅在發生事件的窗口小部件上報告? 如果您在標簽上設置了綁定,則只有當鼠標懸停在該標簽上時才會觸發該事件。 如果要在父級上處理事件,則也需要在父級上設置綁定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM