2012-08-20 12 views
5

Korzystanie z Python 3.2 i tkinter. W jaki sposób ustawić Button-3 (prawy przycisk myszy) wybrać element w widżecie Widok drzewa, na którym przesuwa się kursor myszy? Zasadniczo chcę, aby zdarzenie Button-3 wybierało element w taki sam sposób, jak robi to bieżące pojedyncze kliknięcie lewym przyciskiem myszy.Zdarzenie widoku drzewa python tkinter Kliknij prawym przyciskiem myszy (Button-3), aby wybrać element w widoku drzewa

+2

Udało mi się to rozgryźć. Używając metody identity_row widoku drzewa i przekazując współrzędną y do metody, zwraca bieżący numer elementu w wierszu, nad którym znajduje się myszka. – Twist

+0

Witamy w SO. Jeśli możesz, możesz to opublikować jako rozwiązanie. W ten sposób inni będą mogli łatwiej zobaczyć, jak to osiągnąć. – mgilson

Odpowiedz

6

W połowie odpowiedziałeś na własne pytanie. Właśnie zakodowałem i przetestowałem mój kod, więc nie zaszkodziło opublikowanie mojego fragmentu rozwiązania tutaj.

def init(self): 
    """initialise dialog""" 
    # Button-3 is right click on windows 
    self.tree.bind("<Button-3>", self.popup) 

def popup(self, event): 
    """action in event of button 3 on tree view""" 
    # select row under mouse 
    iid = self.tree.identify_row(event.y) 
    if iid: 
     # mouse pointer over item 
     self.tree.selection_set(iid) 
     self.contextMenu.post(event.x_root, event.y_root)    
    else: 
     # mouse pointer not over item 
     # occurs when items do not fill frame 
     # no action required 
     pass 
Powiązane problemy