如何在 pygtk 中更改 gtk.TreeView 的交替背景行颜色?

2023-12-11

我正在尝试更改树视图的交替背景颜色。我知道这通常应该由主题决定,但我想重写以测试 gtk 样式功能。根据树形视图文档here,我了解到 TreeView 有几个只读的样式选项,包括“偶数行颜色”、“奇数行颜色”和“允许规则”(根据文档,允许绘制偶数和奇数行颜色)。我知道,为了覆盖这些只读设置,我必须更改 gtkrc 样式文件或字符串中的样式。

所以我的树视图字符串看起来像:

    gtk.rc_parse_string( """
        style "custom-treestyle"{
            GtkTreeView::odd-row-color = "#00CBFF"
            GtkTreeView::even-row-color = "#90EE90"
            GtkTreeView::allow-rules = 1
        }
        widget "*custom_treeview*" style "custom-treestyle"
    """)
    treeview.set_name("custom_treeview" )

解析不会出现错误,结果是偶数行颜色同时应用于偶数行和奇数行。

编辑:我从更多测试中发现我的解析字符串必须被其他一些样式设置覆盖。

print treeview.style_get_property( 'allow-rules' )
print treeview.style_get_property( 'odd-row-color')
print treeview.style_get_property( 'even-row-color')

给出结果:

True
None
None

这些都是默认设置。通常我会认为它只是不解析字符串并设置适当的值,但在这种情况下背景颜色does更改为我指定的颜色(仅将每一行的背景绘制为一种颜色)。

我究竟做错了什么?


我终于解决了这种造型方法的问题。 “allow-rules”样式属性并不是告诉树视图以交替颜色对行进行着色的唯一属性。根据文档,树视图有另一个属性,该属性提示引擎应该以交替颜色绘制行。 “rules-hint”属性默认为 False,当 True 成功地以交替的奇数/偶数行颜色为我的 TreeView 着色时!

因此,在代码中,将此行添加到问题中的代码中:

treeview.set_rules_hint( True )

就是这样,一个具有交替彩色行的 TreeView!

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

如何在 pygtk 中更改 gtk.TreeView 的交替背景行颜色? 的相关文章

随机推荐

  • 简单的媒体播放器从文件路径播放mp3?

    我有一个非常简单的播放背景的媒体播放器 它从 apk 调用文件 但我希望它可以从任何目录播放 例如音乐或 SD 卡 这是我的代码 private MediaPlayer mpintro mpintro MediaPlayer create
  • 如何在后台线程上每秒执行一个方法,这样就不会影响应用程序的性能

    我尝试每 30 秒访问一次数据库 但是 每当该方法执行时 我都可以清楚地看到应用程序的性能下降 到目前为止 这是我当前的代码 var timer Timer override func viewDidLoad super viewDidLo
  • dart 中 Paper 元素的实例

    我怎样才能获得一个实例paper input下面的元素 HTML 文件
  • Delphi - 智能指针和泛型 TList

    我有一个智能指针的实现 并且我尝试在通用 TList 上实现它 program Project2 APPTYPE CONSOLE R res uses System SysUtils System Generics Collections
  • 带有 NSAttributedString 的 Cell 使 UITableView 的滚动变慢

    我有一个包含多种单元格的表视图 其中之一是带有 TextView 的单元格 在这个文本视图中 我必须渲染一个NSAttributedString从数据来看 这必须在主线程上完成 根据苹果文档 不应从后台线程调用 HTML 导入器 即选项字典
  • 使用 exec Laravel PHP 运行 .sh 文件

    我正在尝试运行一个 sh 文件 将 Excel 文件导入到我的数据库中 这两个文件位于公共文件夹内的同一目录中 由于某种原因 exec 命令没有被执行 或者没有发生任何错误 sh 文件冷 IFS while read column1 do
  • 在 Objective c 中公开/综合 iVar 属性

    我有一个类 它本质上充当另一个类的轻量级包装类 它将另一个类保存为 iVar 我希望能够公开 iVar 的某些属性 实际上相当多 但要做到这一点 我必须像这样写出每个属性访问器 void setProperty Class value iV
  • 特定的一个表头颜色 java swing

    I want to change the background color of particular table header In my appliaction I have to set header color Red on the
  • 如何显示 wget 的对话框量表?

    我想显示进度wget使用对话框 gauge 我找到了一个解决方案在这个网站上但它的显示率并未达到 100 90 后 对话框冻结 停止并且代码退出 有没有办法显示 wget 的对话框量表 URL http upload wikimedia o
  • 在 clickhouse 中将日期转换为 Jalal 日期

    我使用clickhouse版本22 3 15 33 在我的表中 日期的格式如下 2023 01 15 我想计算表中每个 Jalal 月份变量的总和 所以首先我需要将此日期转换为 Jalal 日期 然后获取月份 然后使用group by基于月
  • 将图像和文本共享到 Facebook Messenger,但 UIActivityViewController 失败

    Question 必须对以下代码进行哪些更改才能确保 Messenger 正常运行 很好地与UIActivityViewController并分享图像和 文本 或者至少是图像 背景 我在用UIActivityViewController分享
  • 在哪里可以找到“SDL_Window”的定义

    我刚刚开始在 Linux 中学习 SDL2 我正在阅读 LazyFoo 的第一个教程 我看到有该代码 The window we ll be rendering to SDL Window window NULL 在哪里可以找到的定义SDL
  • 具有返回 char* 函数的内存管理

    今天 我没有多想 就根据给定枚举值的 switch 语句编写了一个返回 char 的简单函数 然而 这让我想知道如何释放那段记忆 我所做的是这样的 char func char retval new char 20 Switch blah
  • 如何在同一个图表上合并一条线和散点图?

    使用 Rplotly 包创建时 从 data frame 创建的两个单独的图表可以正常工作 然而 我不知道如何将它们组合成一个 大概是使用 add trace 函数 df lt data frame season c 2000 2000 2
  • 如何访问框架内的页面内容?

    我在主窗口内有一个框架 里面有一个带有面板和各种内容的页面 主窗口决定加载哪个页面 然后必须与其内容交互 这就是问题所在 我已经尝试了很多解决方案 最好的是这个 但返回 pageLogin 作为空对象 mainFrame Source ne
  • 在源代码树而不是包中运行所有测试

    我的单元测试与集成测试位于单独的目录树中 但具有相同的包结构 我的集成测试需要可用的外部资源 例如服务器 但我的单元测试完全独立于彼此和环境 在 IntelliJ IDEA v7 中 我定义了一个 JUnit 运行 调试配置来运行顶级包中的
  • 理解这个removeAll java方法和arrayList

    此方法的职责是删除所有出现的值toRemove来自数组列表 剩余的元素应该只是向列表的开头移动 大小不会改变 末尾的所有 额外 元素 但是多次出现toRemove位于列表中 应该只用 0 填充 该方法没有返回值 如果列表没有元素 那么它应该
  • 考虑到记录的大小,在网格视图中实现分页的最佳程序是什么?

    我在 sq server db 中有一个表有超过 100 万行 我需要在 gridview 中显示这些数据 并在 asp net 页面中分页 由于记录量较大 我需要提高页面显示数据的性能 实现分页 我应该遵循什么程序来实现分页 请帮忙 有多
  • Python - getattr 和串联

    因此 在我的代码中使用 getattr 时 我发现了以下内容 myVariable foo A bar 有效 但是是这样的 B A myVariable getattr foo B bar 返回错误 指出 foo 不包含属性 A bar 我
  • 如何在 pygtk 中更改 gtk.TreeView 的交替背景行颜色?

    我正在尝试更改树视图的交替背景颜色 我知道这通常应该由主题决定 但我想重写以测试 gtk 样式功能 根据树形视图文档here 我了解到 TreeView 有几个只读的样式选项 包括 偶数行颜色 奇数行颜色 和 允许规则 根据文档 允许绘制偶