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
5
A
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
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
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