我想问一下,如果有人知道如何创建一个由两列组成的树视图。 第一列是描述列,第二列包含叶子,文本或复选框。我必须使用pygtk 2.0版(!)进行编程。
像
Column 1, Column2
Test_1
RPM 2700
Model NameXXX
Active [X]
Test_2
RPM 1000
Model NameXXX
Active [ ]
我应该如何编写column2?
test_data = [
{ 'column0' : 'test00', 'column1' : 'test01', 'f': '#000000', 'b': '#FF00FF' },..]
column0 = gtk.TreeViewColumn("Column 0", gtk.CellRendererText(), text=1, foreground=2, background=3)
treeview.append_column(column0)
之前的代码允许用户根据行设置前景和背景。我想对细胞渲染器做同样的事情,我希望你能帮助我:/
谢谢!
答案 0 :(得分:0)
要做到这一点,你必须创建一个可以呈现其他渲染器的渲染器(renderception!)
因此,您创建了一个动态渲染器,其中包含文本渲染器和切换渲染器以及某种类型属性,以决定渲染时要使用的渲染器。
将所有相关信号连接到刚刚创建的自定义渲染器,并将它们传递给选定的渲染器。
对于值,创建一个可以包含两个值的属性(布尔和文本,我不知道如何在python中执行此操作)并将它们传递给所选渲染器的正确属性。
C中有一个例子。我不知道你是否理解它,但嘿,这是一个开始! https://github.com/matze/EggPropertyTreeView/blob/master/egg-property-cell-renderer.c