多くの人がTreeView上での右クリックによるコンテキストメニューを実装する方法を求めています。そこで、私達はここでやり方を説明して時間を節約することにしました。ひとつふたつの点をのぞけば、これは通常のコンテキストメニューとまったく同じです。通常のものについてはメニューの章で説明しています。
マウスの右クリックを検出するにはbutton_press_eventシグナルをハンドルし、どのボタンが押されたのかをチェックする必要があります。TreeViewは通常このシグナルを完全にハンドルしていますから、必要なのは、TreeViewから派生したクラスの中でデフォルトのシグナルハンドラをオーバーライドするか、connect()の代わりにconnect_notify()を使うかです。
また、何をするにもまずはデフォルトのハンドラも呼ぶようにするでしょう。そうした場合、右クリックはまずその行を選択状態にします。
以上のことはコード例のPopup Cusom Menuにデモがあります。