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

2023-12-04

我刚刚从 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')`

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

任何帮助表示赞赏。


看起来这个问题是由较新版本的 tkinter 引起的,而不是由较新版本的 Python 引起的。这被报道于https://bugs.python.org/issue36468 and https://core.tcl-lang.org/tk/info/509cafafae

这是一个建议的解决方案。它应该向后和向前兼容:

def fixed_map(option):
    # Fix for setting text colour for Tkinter 8.6.9
    # From: https://core.tcl.tk/tk/info/509cafafae
    #
    # Returns the style map for 'option' with any styles starting with
    # ('!disabled', '!selected', ...) filtered out.

    # style.map() returns an empty list for missing options, so this
    # should be future-safe.
    return [elm for elm in style.map('Treeview', query_opt=option) if
        elm[:2] != ('!disabled', '!selected')]

style = ttk.Style()
style.map('Treeview', foreground=fixed_map('foreground'), background=fixed_map('background'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

插入带有标签的行时的 Tkinter Treeview 问题 的相关文章

  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • Linux 上的 Python 3.6 tkinter 窗口图标错误

    我正在从 Python GUI 编程手册 学习 Python GUI 某项任务要求我通过将以下代码添加到我的配方中来更改窗口图标 Change the main windows icon win iconbitmap r C Python3
  • 如何使用格式保存 Tkinter 文本小部件的内容

    我在 python 中使用 Tkinter 在文本窗口中显示输出 我发现使用 get 功能我可以从此窗口检索文本内容 但我有用不同背景颜色标记的文本部分 是否可以将内容与这些颜色一起复制到文件 例如 html 或 doc 中 没有对你想要的
  • 使用 PHP DOMDocument 更改标签属性值

    我想用 PHP DOMDocument 更改标签属性的值 例如 假设我们有这行 HTML a href http foo bar Click here a 我将上面的代码加载到 PHP 中 如下所示 dom new domDocument
  • Mysql获取特定表的最后一个id

    我必须从特定的插入表中获取最后的插入 ID 可以说我有这个代码 INSERT INTO blahblah test1 test 2 VALUES test1 test2 INSERT INTO blahblah2 test1 test 2
  • 树视图上下文菜单命令未触发

    我有一个绑定到某些属性类型的 Observable 集合的树视图 有一个 HierarchicalDataTemplate 在树视图中显示数据 现在我需要显示每个 HierarchicalDataTemplate 项目的特定上下文菜单 我使
  • Tkinter 菜单删除项

    如何删除任何菜单项 例如我想删除 播放 self menubar Menu self root self root config menu self menubar self filemenu2 Menu self menubar self
  • 如何删除选择复选框后出现的 Python3 tkinter ttk.CheckButton 虚线?

    有没有什么方法可以删除使用 默认 主题时单击 ttk Checkbutton 对象的文本时出现的虚线轮廓 例子 from tkinter import from tkinter import ttk master Tk style ttk
  • 如何在 MacBook Pro 上的 Docker 容器内运行 tkinter?

    我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter我的 MacBook Pro 上的 docker 容器内的模块 所以我安装了XQuartz https www xquartz org 并跟随本教程 https
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • jQuery 插件,用于带有自动建议的逗号分隔标签的简单输入框

    我正在寻找具有以下功能的 jQuery 插件 它应该显示一个输入框 其中的标签将如下所示 蜜蜂 珠子 胡须 当用户键入标签时 它应该显示一个自动建议框供用户输入 显示应该简单明了 只是纯文本逗号分隔标签 它应该允许包含空格键的标签 例如 有
  • Python Tkinter 错误,“创建图像太早”

    所以我有一个作业 我必须使用 Tkinter 来创建一个棋盘游戏 这只是程序的一部分 我想在其中引入电路板的图像 但我不断收到错误 创建图像太早 并且我不确定我做错了什么 到目前为止 这是我的代码 from Tkinter import f
  • android 多关键词搜索

    我的应用程序包含搜索功能 它将搜索数据库内的内容 我的搜索的弱点是 我只能使用一个标签进行搜索 例如我只能搜索 猫 它会返回我的数据库中包含 猫 一词的内容 因为我正在使用LIKE在 select 语句期间进行查询 如何使用多个标签进行搜索
  • Python Tkinter,显示实时数据

    我想在 GUI 中显示实时数据tkinter 我得到的数据包含list两个整数的 current voltage 我每秒都在获取新数据 我成功创建了一个 GUI 现在我想知道如何在 GUI 中显示数据Label小部件 python tkin
  • 在 tkinter Label 中漂亮地打印数据

    我有以下示例数据 data 1 JohnCena Peter 24 74 2 James Peter 24 70 3 Cena Peter 14 64 14 John Mars 34 174 我想在 tkinter 输出窗口上以漂亮的表格方
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 将自定义属性添加到 Tk 小部件

    我的主要目标是向小部件添加隐藏标签或字符串之类的内容 以在其上保存简短信息 我想到创建一个新的自定义 Button 类 在本例中我需要按钮 它继承所有旧选项 这是代码 form tkinter import class NButton Bu
  • Python Tk _tkinter.TclError:无效的命令名称“.42818376”

    我收到帖子标题中提到的错误 我真的只是想让它起作用 现在已经研究这个问题一段时间了 这令人沮丧 我的最终目标是获取变量 text chkvar 和 v 的值 感谢任何可以回复并提供帮助的人 C Python27 python exe fro
  • tkinter/py2app 创建的应用程序在初始启动时不显示窗口

    我遇到了一个问题 即启动使用 Tkinter 创建并由 py2app 打包的 python 应用程序不会立即显示应用程序窗口 我在启动后显示窗口的唯一方法是单击扩展坞中的应用程序图标 This guy https stackoverflow
  • MySQL - 从另一个表插入与常量合并的数据

    我有一个包含一些数据的临时表 products temp 并且我有另一个需要将数据插入其中的表 产品 我需要在新记录上手动设置一些常量 例如vendor id 1等 是否可以在一次请求中插入临时表数据和常量 临时产品 product nam

随机推荐

  • VBA:创建类模块数组

    我正在尝试创建自定义类的数组 但它给了我这个错误 运行时错误 91 未设置对象变量或 With 块变量 到目前为止 这是我的代码 Sub DBM Format Dim coreWS As Worksheet Dim WS As Worksh
  • 如何使用 Rapidminer 在测试集上进行测试?

    我正在使用 Rapidminer 进行分析 我在几个模型上使用了交叉验证来获得最佳的工作模型 现在我想使用这个模型在我使用分割数据制作的单独测试集上进行测试以估计性能 我如何使用测试集 据我所知 所有验证模块都使用模型所在的训练集 我可以使
  • 如何将日期拆分为月

    使用 SQL Server 2000 我想保存月份的详细信息 用户录入 ID 001 Fromdate 01 01 2012 Todate 29 03 2012 ID 002 Fromdate 01 05 2012 Todate 19 06
  • c函数返回静态变量

    我有一个关于 C 函数如何返回静态变量的问题 in data h file include
  • AtomicInteger 类中 addAndGet 的实现

    我正在浏览 Java Java 6 源代码addAndGet方法中的AtomicInteger class 对应的代码如下 public final int addAndGet int delta for int current get i
  • Cmd - 获取变量名中的变量

    我有一个问题variable in variable 代码如下 set a 1 set b a echo b 预期结果是 1 As a被分配给变量b and 1被分配给变量a 另外 还有一种情况 set b a set a1 100 set
  • 地区/次地方:列表或如何使用 Google API

    我正在拼命寻找世界上所有城市的地区或次地区的列表 数据库 我使用 maxmind com 上的世界所有城市的列表 但是 他们不提供次区域或地区 例如纽约的 曼哈顿 布鲁克林 等 有谁知道某处是否存在解决方案 或者是否有可能使用 Google
  • 如何动态创建菜单项?

    我正在构建一个Android应用程序 我正在尝试构建一个用户管理系统 用户可以在其中登录 注销等 我想在用户注销时显示登录菜单项 在用户登录时显示注销按钮我怎样才能动态地做到这一点 这是现在的布局文件 menu menu
  • Android 谷歌地图 LocationClient

    我在 Android 应用程序中使用 Google Maps Android API v2 LocationClient http developer android com reference com google android gms
  • 如何使用golang的模板实现级联下拉菜单

    设想 我有一个级联场景 其中第二个下拉列表中的值取决于第一个 我有三个模板 布局 输入 和 内部 Attempt 我正在对 输入 模板中第一个下拉列表的更改进行ajax调用 并坚持处理返回的响应 目前我找到了一种通过替换第二个下拉列表的 h
  • 如何获取 JavaScript 中所有可能的字符?

    假设 JavaScript 中的所有字符都是a b c d e and f 我想做的是在字符之间创建随机映射 所以上面的内容可能是这样的 a e b b c e d b e a f c 首先 如何获取 JavaScript 中所有可能的字符
  • ios 8 交互式通知不显示操作

    这是我为 ios8 注册交互式通知的代码 void registerInteractiveNotifications UIMutableUserNotificationCategory corideInviteCategory self c
  • 不可变对象和延迟初始化。

    http www javapractices com topic TopicAction do Id 29 上面是我正在看的文章 不可变对象极大地简化了您的程序 因为它们 允许 hashCode 使用延迟初始化 并缓存其返回值 谁能帮我解释
  • 具有架构优化的 Docker 镜像?

    一些库 例如 BLAS LAPACK 或某些优化库 会在编译时针对本地计算机架构进行优化 让我们以 OpenBlas 为例 使用 OpenBlas 创建 Docker 容器有两种方法 使用 Dockerfile 在其中指定 OpenBlas
  • 什么是替代 BinaryFormatter 的良好内存保护序列化器? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在使用 Net v3 5 和 C Visual Studio 2008 来处理一个大型应用程序 该应用程序使用BinaryFormatter创建数据文件 Stream stream F
  • 神经网络精度优化

    我在 keras 中构建了一个 ANN 它有 1 个输入层 3 个输入 1 个输出层 1 个输出 和两个隐藏层 分别有 12 个和 3 个节点 我构建和训练网络的方式是 from keras models import Sequential
  • 如何停止nsthread

    我正在使用线程在应用程序的后台更新消息 该线程在我的消息类中启动 消息 m timerThread NSThread alloc initWithTarget self selector selector startTimerThread
  • 克隆密码中带有斜杠的存储库

    克隆存储库可以通过以下方式完成 git clone https username email protected username repository git 但是 当密码包含正斜杠时 这不起作用 错误是 error Couldn t r
  • 无法执行目标 org.codehaus.mojo:exec-maven-plugin:1.6.0:java

    我正在尝试使用 pom xml 文件执行 testNG 主类 方法是使用以下命令Maven 运行配置 exec java Dexec mainClass com selenium controls TestNGMainClass 在这里 我
  • 插入带有标签的行时的 Tkinter Treeview 问题

    我刚刚从 python 3 6 切换到 python 3 7 我有一个函数 可以在 Treeview 树中插入带有标签的行 这些标签用于为插入到树中的行提供前景色和背景色 当我使用 python 3 6 时 我的代码工作正常 一旦我切换到