插入带标签的行时出现Tkinter Treeview问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入带标签的行时出现Tkinter Treeview问题相关的知识,希望对你有一定的参考价值。

我刚刚从python 3.6切换到python 3.7。我有一个函数,它在带有标签的Treeview树中插入行。标签用于为插入树的行提供前景色和背景色。当我使用python 3.6时,我的代码工作正常。一旦我切换到3.7,插入的行没有给出背景或前景色,但只给出了白色背景和黑色前景色。

对于标记配置或树插入,tkinter.ttk似乎没有从python 3.6到3.7的语法更改。

tree.tag_configure('MATCHED', foreground='dark green', background='gray98')
tree.tag_configure('UNMATCHED', foreground='red2', background='gray98')

if match_status== '1':
    tree.insert('', 'end', text=df_row, values=my_value, tag='MATCHED')
elif match_status == '0':
    tree.insert('', 'end', text=df_row, values=my_value, tag='UNMATCHED')`

当行被插入到树中时,期望获得正确的背景和前景色。

任何帮助表示赞赏。

答案

您是否尝试过将颜色更改为rgb?尝试以#RRGGBB格式描述颜色,其中R G和B代表红色绿色和蓝色的数量,范围从00到FF,以十六进制数字表示

另一答案

在我的应用中,我使用以下方法:

self._my_tree.tag_configure('mygray', background='#DCDCDC')

for router in routers_list:
    self._my_tree.insert('', 'end', router['id'], text=str(router['id']),
                         values=(
                             name,
                             router['location'],
                             router['ip'],
                             router['model'],
                             router['phone_num'],
                             router['provider']
                         )
                         )

    self._my_tree.item(router['id'], tags='mygray')

尝试使用标签而不是标签

另一答案

在同事的帮助下,我也尝试了很多东西。我们注意到这些标签仅适用于3.7.2 Python版本(不适用于3.7.3)。这是在多台计算机和两种操作系统(Windows和Linux)上尝试过的。

以上是关于插入带标签的行时出现Tkinter Treeview问题的主要内容,如果未能解决你的问题,请参考以下文章

Python Tkinter TTK 带标签的分隔符

如何制作带圆角的 tkinter 画布矩形?

PetaPoco 在带触发器的表上插入失败

插入行时出现标识值的 SQL Server 错误

UITableView 负顶部内容插入导致重新排序行时出现故障

我曾尝试使用带有条目小部件的 tkinter 将记录插入到 sql 表中,但出现 sql 语法错误