- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试更改 TreeView 的交替背景颜色。我知道这通常应该留给主题,但我想覆盖以测试 gtk 样式功能。根据 TreeView 文档 here ,我了解到 TreeView 有几个只读的样式选项,包括“偶数行颜色”、“奇数行颜色”和“允许规则”(根据文档,允许绘制偶数和奇数行颜色)。而且我知道,为了覆盖那些只读设置,我必须更改 gtkrc 样式文件或字符串中的样式。
所以我的 treeview 字符串看起来像:
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" )
这分析没有错误,结果是 even-row-color 被应用到偶数行和奇数行。
编辑:我从更多测试中发现我的解析字符串必须被其他一些样式设置覆盖。
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
这些都是默认设置。通常我会认为它只是不解析字符串并设置适当的值,但在这种情况下,背景颜色确实更改为我指定的颜色(只是它将每一行的背景绘制为一种颜色)。
我做错了什么?
最佳答案
我终于弄清楚了这种样式设置方法的问题。'allow-rules' 样式属性不是告诉 TreeView 以交替颜色为行着色的唯一属性。根据文档, TreeView 具有 另一个 属性,该属性向引擎提示它应该以交替颜色绘制行。 'rules-hint' 属性,默认情况下为 False,当 True 成功地以交替的奇数/偶数行颜色为我的 TreeView 着色时!
因此,在代码中,将这一行添加到问题中的代码中:
treeview.set_rules_hint( True )
就是这样,一个带有交替彩色行的 TreeView!
关于python - 如何更改 pygtk 中 gtk.TreeView 的交替背景行颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9036812/
我只想在给定 X 和 Y 的屏幕上放置一个图像。 最佳答案 使用 GtkFixed 容器到 GtkWindow 内的绝对位置 如果要绝对定位顶层窗口本身,请使用 gtk_window_move()。
如何将菜单栏粘贴在窗口顶部? 我正在使用 Gtk.VBox我添加了 Gtk.MenuBar里面。我正在使用 Gtk3 代码来源:http://pastebin.com/YHZQLzZg 谢谢 最佳答案
当有人建议我考虑使用 Twisted 时,我正在努力让一些异步事件在 PyGTK 下工作。 我知道 Twisted 最初是一个网络框架,但它可以用于其他事情。但是,我见过的每个示例都涉及大量基于网络的
操作系统:Ubuntu 15.10 我使用默认的 Python 解释器导入 pygtk 没有问题。但是我无法使用 Anaconda 解释器这样做。 Python 2.7.11 |Anaconda 2.
我正在设计一个 pygtk GUI 并想在其中嵌入一个外部应用程序。 有人知道如何做到这一点吗? 最佳答案 这取决于您要嵌入的应用程序,但如果另一个应用程序是 GTK 应用程序(或支持 XEMBED
我有一个 gtk.Notebook,我想从当前的 gtk.noteBook 选项卡中获取标签文本。我做到了: text = self.get_tab_label(self.get_nth_page(s
我正在使用自定义容器,我需要在其中重新排序小部件,但没有方法可以做到。所以我尝试删除所有小部件并按顺序再次添加它们。 问题是这不能很好地工作,再次添加它们后我看不到小部件,我想发生的事情是当我删除小部
我希望窗口透明,但标签的不透明度为 100%。我怎样才能做到这一点?顺便说一句:当我升级到 Ubuntu 12.04 的统一界面时,我注意到 window.set_opacity 不像在 GNOME
是否可以通过PyGTK取消选中组中的所有单选按钮?启动时没有选中任何单选按钮,因此我认为必须有一种方法可以将它们全部恢复为未选中状态。 最佳答案 应该没有。从本质上讲,单选按钮组是“选择多个”控件类型
我有一个 gtk.Entry() 对象,我想手动发出 focus-out-event。我需要传递给 emit 方法的第二个参数是什么? In [10]: d.emit('focus-out-event
我到处找,但似乎找不到改变边框颜色的方法。 例如我需要一个这样的按钮: gb = gtk.Button("Hi") gb.set_border_width(50) 现在我希望将边框着色为红色(这是一个
如果我在 pyGTK 中有一个组合框,并且想要设置一个字符串列表,然后单击其中一个激活命令,我该怎么做? 目前我有: self.combo_key = gtk.Combo() self
我想将一个窗口嵌入到另一个窗口中,有点像这样: 编辑:屏幕截图已删除,抱歉! 那是一个 wingdows 程序,不是用 GTK很难做的。 我尝试使用插头和 socket ,但显然我无法将 gtk.Wi
我正在尝试使用 PyGTK 创建一个窗口,该窗口已根据字符串数组动态创建单选按钮(一个看起来像 ["option 1", "option 2", "option 3"] 的数组将创建3 个单选按钮,带
如何创建将一个像素值设置为透明的 PyGTK 像素图?我知道它与创建深度为 1 的像素图并将其设置为 mask 有关,但我发现它要么不执行任何操作,要么在绘制时完全删除我的像素图。目前,我制作了一个像
我在更新自定义 GTK+ 小部件时遇到问题:VUWidget。Generator 类正在更新类Section 的level 属性,该类的子类具有VUWidget 属性。 Generator 类正确更新
我正在尝试学习 pygtk,并且正在为 axel 开发 GUI。 我的问题是我需要在主窗口中显示下载进度。 我使用了两个线程,一个用于下载,第二个用于进度计算。下载是由axel完成的但我的第二个线程直
我想设置窗口的大小,然后能够在程序运行时调整它的大小。我已经能够使窗口变大,但无法将其调整为小于原始设置大小。对于不同的项目,我还想知道如何制作它,使窗口根本无法调整大小。 最佳答案 对于第一个问题:
我正在做一个项目,我想从 MySQL 数据库加载数据并将其显示在 PyGTK 应用程序中以便于查看和配置。我的目标是让程序根据数据库内容自动添加新行,即。如果我向数据库添加一个新命令,我不需要对我的
我按照 this post. 中的说明进行操作一切都安装成功。但是,当我运行 python 时,我无法导入 pygtk。具体来说,它是这样说的: >>> 导入 pygtk\n “导入错误:没有名为 p
我是一名优秀的程序员,十分优秀!