- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写以下代码:两列。一个包含 itemId,另一个包含 typeId。我只想在 typeId 等于特定值时渲染 itemId。
class IDRenderer(gtk.CellRendererText):
def __init__(self):
gtk.CellRendererText.__init__(self)
def do_render(self,window, widget, background_area, cell_area, expose_area, flags):
if ----} Condition to ask for value of the typeId - Cell {-----:
gtk.CellRendererText.do_render(self, window, widget, background_area, cell_area,
expose_area, flags)
gobject.type_register(IDRenderer)
我不知道如何获取当前渲染行的迭代器,我需要它来确定 typeId 的值。这可能吗?
最佳答案
我现在知道了,感谢 gimpIRC 上 #pygtk 上的一个好人:
您可以通过将所谓的单元格数据函数绑定(bind)到相应的 gtk.TreeViewColumn 来做到这一点,如本例中所示
def renderId(celllayout, cell, model, iter):
if model.get_value(iter,1) == 3:
cell.set_property('visible',True)
else:
cell.set_property('visible',False)
treeviewcolumn = gtk.TreeViewColumn()
renderer = gtk.CellRendererText()
treeviewcolumn.add_attribute(renderer,'text',0)
treeviewcolumn.set_cell_data_func(renderer,renderId)
我省略了一些与渲染完整 TreeView 相关的代码,但我认为它显示了我想要做什么以及如何做。
仅当第二个模型列 (1) 中的值等于 3 时,该列才会呈现模型第一列 (0) 中的值
我希望这可以帮助某人。
关于python - 访问 gtk.TreeIter 里面的 render() 函数的 gtk.CellRenderer -- pygtk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331031/
给定一个 TreeStore 和 TreeIter,如何在不删除父节点的情况下从父节点中删除所有子节点?这些都没有选中,只是想清除父节点下的一组节点。 ParentNode +- Child 1
我一直在学习使用 TreeView,这两种类型通常用于访问树的特定行。我真的不明白两者之间的区别。我的代码正在运行——我根据函数所需的参数在两者之间来回转换——但不是基于对原因的任何真正理解。 这两种
我正在尝试编写以下代码:两列。一个包含 itemId,另一个包含 typeId。我只想在 typeId 等于特定值时渲染 itemId。 class IDRenderer(gtk.CellRender
我是一名优秀的程序员,十分优秀!