弹出上下文菜单

很多人认为需要为TreeView实现右键单击上下文菜单,因此我们在这里说明如何做到这个以节省你的时间。其与普通的上下文菜单只有一两点不同,如菜单章节所述。

10.7.1. 处理button_press_event

要检测鼠标右键的点击,你需要处理button_press_event信号,并准确的检查按下了哪个按钮。因为TreeView通常会处理这个信号,所以你需要使用connect_notify()connect(slot, /* after= */ false)TreeView的派生类中覆盖默认信号处理函数。你可能还想在执行任何其他操作之前先调用默认信号处理函数,以便右键时先选择该行。

Popup Context Menu示例中对此进行了演示。