PyGTK树视图 - 相同列 - 带复选框或文本

时间:2015-08-18 11:26:29

标签: python tree treeview gtk pygtk

我想问一下,如果有人知道如何创建一个由两列组成的树视图。 第一列是描述列,第二列包含叶子,文本或复选框。我必须使用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)

之前的代码允许用户根据行设置前景和背景。我想对细胞渲染器做同样的事情,我希望你能帮助我:/

谢谢!

1 个答案:

答案 0 :(得分:0)

要做到这一点,你必须创建一个可以呈现其他渲染器的渲染器(renderception!)

因此,您创建了一个动态渲染器,其中包含文本渲染器和切换渲染器以及某种类型属性,以决定渲染时要使用的渲染器。

将所有相关信号连接到刚刚创建的自定义渲染器,并将它们传递给选定的渲染器。

对于值,创建一个可以包含两个值的属性(布尔和文本,我不知道如何在python中执行此操作)并将它们传递给所选渲染器的正确属性。

C中有一个例子。我不知道你是否理解它,但嘿,这是一个开始! https://github.com/matze/EggPropertyTreeView/blob/master/egg-property-cell-renderer.c