[英]Emplicitly tag a row in tkinter treeview
我試圖在選擇樹視圖列時標記單行。
BadgesView.tag_configure("BadgeOfTheWeek", background="yellow")
在標記這一行之前或之后,我希望其他行的所有標記都被程序刪除。
for row in Treeview:
remove tag from row.
我不確定這是否可行,因為我很難確定哪一行是所選行,以及從哪一行標記。
任何幫助表示贊賞。
問題:...要刪除所有
tags
的其他rows
Tkinter 8.5 參考 - 45. ttk.Treeview
首先,一些定義:
item
小部件中顯示的實體之一。 對於文件瀏覽器,項目可能是目錄或文件。 每個項目都與一個文本標簽相關聯,也可能與一個圖像相關聯。
iid
樹中的每一項都有一個唯一的標識符字符串,稱為 iid。 您可以自己提供 iid 值,也可以讓 ttk 生成它們。
之前的
Treeview
items
:item:{'text': 'Text_1', 'values': '', 'tags': ['ALL'], 'image': '', 'open': 0} item:{'text': 'Text_2', 'values': '', 'tags': ['BadgeOfTheWeek', 'ALL'], 'image': '', 'open': 0} item:{'text': 'Text_3', 'values': '', 'tags': ['ALL'], 'image': '', 'open': 0}
循環Treeview
以獲取項目的iid
for iid in self.tree.get_children():
條件: 'BadgeOfTheWeek'
not in
當前item(iid)
tags
。
if not 'BadgeOfTheWeek' in self.tree.item(iid)['tags']:
要從此item(iid)
刪除所有tags
,請將tags=
設置為空list
或set
self.tree.item(iid, tags=[])
Treeview
items
:item:{'text': 'Text_1', 'values': '', 'tags': '', 'image': '', 'open': 0} item:{'text': 'Text_2', 'values': '', 'tags': ['BadgeOfTheWeek', 'ALL'], 'image': '', 'open': 0} item:{'text': 'Text_3', 'values': '', 'tags': '', 'image': '', 'open': 0}
用 Python 測試:3.5 - TkVersion:8.6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.