[英]Select and copy a particular cell in tkinter treeview
我的tkinter treeview
中有 4 列。 最后一列由url links
以text
形式組成。
我想讓用戶點擊他們想要的enable
url cell
並且他們能夠copy
它。 這可能嗎?
任何幫助將不勝感激!
假設tree
變量有一個Treeview object 。 首先,您應該將事件處理程序綁定到tree
。 然后,在您的事件處理程序 function 中,您可以使用tree.focus()
找出現在聚焦的樹項。 接下來,您需要確定當前單元格具有哪一列 - tree.identify_column
方法可以幫助解決它。 最后,您可以檢查它是否是所需的列。 如果是這樣,您將 append 單元格值復制到剪貼板。
這是一個代碼示例:
import tkinter as tk
from tkinter import ttk
def tree_click_handler(event):
cur_item = tree.item(tree.focus())
col = tree.identify_column(event.x)
if col == '#3':
root.clipboard_clear()
root.clipboard_append(cur_item['values'][2])
root = tk.Tk()
tree = ttk.Treeview(root)
tree.pack()
tree['columns'] = ('one', 'two', 'three')
tree.column('#0', width=170, stretch=tk.NO)
tree.column('one', width=100, stretch=tk.NO)
tree.column('two', width=100, stretch=tk.NO)
tree.column('three', width=180, stretch=tk.NO)
tree.heading('#0', text='Name', anchor=tk.W)
tree.heading('one', text='Col1', anchor=tk.W)
tree.heading('two', text='Col2', anchor=tk.W)
tree.heading('three', text='Col3', anchor=tk.W)
tree.insert(
'', 'end', text='The First Item Name',
values=('Col1_1', 'Col2_1', 'https://test0.test')
)
tree.insert(
'', 'end', text='The Second Item Name',
values=('Col1_2', 'Col2_2', 'https://test1.test')
)
tree.insert(
'', 'end', text='The Third Item Name',
values=('Col1_3', 'Col2_3', 'https://test2.test')
)
tree.bind('<ButtonRelease-1>', tree_click_handler)
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.