我添加了以下代码(取自this post),但是我没有得到所需的解决方案。
def change_colour():
trv.set(trv.selection()[0],0,tags='changed_tag') #this causes problem
trv.tag_configure("changed_tag",foreground="blue",background="yellow")
执行时我收到此错误(从函数的第一行开始):
TypeError: set() got an unexpected keyword argument 'tags'
我的目标是更改所选项目的标签(在树视图中),因此它的颜色将会改变。
我自己找到了解决方案,对于有同样问题的人:
def high_target():
selected_item = trv.selection()[0]
trv.item(selected_item, tags='changed_tag')
trv.tag_configure("changed_tag",foreground="blue",background="yellow")
我认为你的代码应该是这样的(虽然没有测试):
def change_colour(iid):
trv.item(iid, tags="changed_tag")
trv.tag_configure("changed_tag", foreground="blue", background="yellow")
以及使用
trv.insert
创建树视图项的位置,将 trv.insert
返回的值存储在变量中,并将其作为参数传递给 change_colour
。示例:
iid = trv.insert("", "end", values=("a", "b", "c"))
change_colour(iid)
def change-tags():
trv.tag-configer('odd',
background='color1',
foreground='color2')
trv.tag-configer('even',
background='color1',
foreground='color2')
rows:list=[]
for row in trv.get_children():
rows.append(trv.get_children())
for i in range(len(rows)):
if i%2==0:
trv.item(i,tags=('even',))
trv.item(i,tags=('odd',))