2013-01-21 50 views
0

我想讓一個腳本在那裏有例如9個小部件(Buttons,Labels ...),並且當我點擊並按住任何小部件時,另一個窗口小部件,兩個要重新着色的窗口小部件(或者我拖動的所有窗口小部件),直到我釋放鼠標按鈕。如何通過在Tkinter中拖動來重新着色多個小部件

from Tkinter import * 

root = Tk() 

def recolor(event): 
    global ButtonList 
    event.widget.config(bg="red") 

    return 


ButtonList=["b0","b1","b2","b3","b4","b5","b5","b6","b7","b8"] 

i = 0 

while i < 9: 
    ButtonList[i] = Label(root, text = i, width = 4, height = 2) 
    ButtonList[i].grid(row = i%3, column = i/3) 

    ButtonList[i].bind("<Enter>", recolor) 

    i += 1 

root.mainloop() 

此腳本只recolors我點擊和釋放它<Enter>事件反應的按鈕後,該Widget。如何讓腳本在我按住鼠標按鈕時對所有窗口小部件上的<Enter>事件作出反應?

我爲我的英語道歉。

回答

2

當綁定觸發時,widget屬性將始終設置爲處理事件的窗口小部件。要在鼠標下方找到Widget,您需要使用方法winfo_containing

+0

非常感謝!現在工作正常。 – user1967718

相關問題