【问题标题】:change selected background ttk treeview更改选定的背景 ttk 树视图
【发布时间】:2020-07-09 12:32:01
【问题描述】:

我正在尝试更改 Treeview 小部件中一行的选定背景和前景色,我搜索了之前提出的问题,但没有找到明确的答案。

即使问题很清楚,但我的代码现在是这样的,根本不起作用,它甚至不会改变正常的背景(正如我发现的,我必须为选择和取消选择事件绑定标签,但是标签不起作用,没有任何变化):

tree = ttk.Treeview(master)
tree.pack()
tree.tag_configure("hi", background="red")
tree.insert("", "end", text="this is a row", tags=("hi",))

任何帮助将不胜感激。

【问题讨论】:

  • “甚至不会改变正常背景”:我得到了'red' background。无法重现这一点,请确保您发布的代码实际上与您声称的一样。
  • 这能回答你的问题吗? selected style in Treeview
  • @stovfl,非常感谢,我再次尝试了该代码并且没有背景变红!!,您链接的答案是我正在寻找的,但是 style.theme_create 正在影响我的整个 ttk 小部件并将它们更改为不同的样式,如何防止?
  • style.theme_create 正在影响我的整个 ttk 小部件”:这就是 theme 的用途。关注这个答案create a custom ttk style

标签: python tkinter ttk


【解决方案1】:

感谢@stovfl 的评论,我找到了答案并决定分享: (尽管仍然没有弄清楚为什么背景样式不会影响我的代码中的任何内容)

创建一个主题会影响整个 ttk 小部件,这不是我想要的,所以我从默认主题继承了主题,使用此代码找到了默认主题:

print(ttk.Style().theme_use())

在 Windows 10 上对我来说是“vista”,所以这里是更改所选行的背景颜色的代码:

style = ttk.Style(master)
style.theme_create("my", "vista",
                           settings={
                               'Treeview': {
                                   'map': {
                                       'background': [('selected', '#ffdddd'), ("!selected", "white")],
                                       'foreground': [('selected', 'black')],
                                       "font": [("", ("", 13))]
                                   }  # end 'map'
                               }  # end 'Treeview'
                           }  # end settings
                           )
style.theme_use("my")

【讨论】:

    【解决方案2】:

    我在 Windows 10 上遇到了同样的问题。添加以下行并且 tag_configure 可以正常工作

        style = ttk.Style(self)
        aktualTheme = style.theme_use()
        style.theme_create("dummy", parent=aktualTheme)
        style.theme_use("dummy")
    

    program demonstrating the workaround

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-07
      • 2018-06-29
      • 2011-12-15
      • 1970-01-01
      • 2014-10-21
      • 2016-01-15
      • 1970-01-01
      • 2013-10-11
      相关资源
      最近更新 更多