如何在Python Gui中隐藏ttk树索引

2024-10-06 07:54:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用ttktreeviews构建一个pythongui应用程序。在Linux上,当Treeitem有子项时,它会显示一个箭头,表示该行可以展开。我想隐藏这个指示符箭头(我用其他方式暗示行可以展开)。我该怎么做?在

{cdevia>那是一个元素Treeitem.指示器元素。如果我运行Style().configure("Treeview", padding=50),当我创建treeview时,我会看到padding样式得到应用,因此我确信我正确应用的任何样式Treeitem.指示器也应该是可见的。在

运行Style().element_options("Treeitem.indicator"),我看到{}。运行Style().lookup("Treeitem.indicator", "foreground")会给我"#000000",因此值似乎已初始化。如果我尝试Style().configure("Treeview", foreground="#123456")我看不到指示器箭头改变颜色,尽管运行Style.lookup("Treeitem.indicator", "foreground")会按预期显示"#123456"。我的计划是将indicatorsize设置为0以使箭头完全消失,但我甚至无法成功编辑颜色。我在这里做错了什么?有没有更好的方法来隐藏指标?如果有关系,我运行的是python3.5.0。在


Tags: 元素style颜色configure样式箭头lookup指示器
1条回答
网友
1楼 · 发布于 2024-10-06 07:54:49

不知道你有没有弄明白。在

创建并配置新样式时,必须将模板的名称更改为"."。这将更改树视图的根样式。您还需要指定一个主题,即使它是default。所以它看起来像:

s = ttk.Style()
s.configure(".", indicatorsize = '0')
s.theme_use('default')

然后,在创建treeview时,根本不必指定样式。在

告诉我这对你有用吗。在

编辑:由于某些原因,这是被否决的,我要澄清一下:

已注释掉样式部分的代码:

^{pr2}$

给了我们

enter image description hereenter image description here

存在样式部分的代码

s = ttk.Style()
s.configure(".", indicatorsize = '0')
s.theme_use('clam')

j = ttk.Treeview(self.parent)
j.place(relx = 0.5, rely = 0.5, anchor = "center")
j.insert("",1,"jacob",text = "Jacob")
j.insert("jacob",1,"marcus",text = "Marcus")
j.insert("jacob",2,"tony",text = "Tony")
j.insert("jacob",3,"ricardo",text = "Ricardo")

enter image description hereenter image description here

希望这有帮助。在

编辑2: 添加了s.theme_use('clam')行,因为您需要指定正在使用的主题。它也可以与classicdefault一起工作,但由于某些原因,它不能与vista主题一起工作。在

相关问题 更多 >