7

使用 Python 3.2 和 tkinter。如何让 Button-3(右键单击)选择 Treeview 小部件中鼠标光标悬停的项目?我基本上希望 Button-3 事件以与当前单击左键相同的方式选择项目。

4

1 回答 1

15

你一半回答了你自己的问题。刚刚编写并测试了我的代码,所以认为在这里发布我的解决方案片段没有什么坏处。

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
于 2014-08-09T09:21:07.477 回答