tkinter treeview 右键
时间: 2023-12-06 18:38:20 浏览: 371
C# TreeView右键菜单
4星 · 用户满意度95%
可以使用tkinter中的Menu和bind方法来实现treeview的右键功能。具体步骤如下:
1.创建右键菜单
```python
menu = Menu(treeview, tearoff=0)
menu.add_command(label='复制')
menu.add_command(label='粘贴')
```
2.绑定右键事件
```python
def popup(event):
menu.post(event.x_root, event.y_root)
treeview.bind('<Button-3>', popup)
```
这里的`<Button-3>`表示鼠标右键事件,`popup`函数用于在鼠标右键点击时弹出菜单。
完整代码如下:
```python
from tkinter import *
from tkinter.ttk import *
from tkinter import messagebox
root = Tk()
treeview = Treeview(root)
treeview.pack()
# 添加表头
treeview['columns'] = ('name', 'age', 'gender')
treeview.column('name', width=100, anchor='center')
treeview.column('age', width=100, anchor='center')
treeview.column('gender', width=100, anchor='center')
treeview.heading('name', text='姓名')
treeview.heading('age', text='年龄')
treeview.heading('gender', text='性别')
# 添加数据
treeview.insert('', 0, text='001', values=('张三', 20, '男'))
treeview.insert('', 1, text='002', values=('李四', 22, '女'))
treeview.insert('', 2, text='003', values=('王五', 25, '男'))
# 创建右键菜单
menu = Menu(treeview, tearoff=0)
menu.add_command(label='复制')
menu.add_command(label='粘贴')
# 绑定右键事件
def popup(event):
menu.post(event.x_root, event.y_root)
treeview.bind('<Button-3>', popup)
root.mainloop()
```
阅读全文