PyGTK TreeView中的粗体/非粗体行

时间:2011-12-13 15:00:28

标签: python click pygtk glade gtktreeview

我想在TreeView粗体中创建一些行,有些不是因为我将它们附加到TreeView,稍后,我想在点击时解开行。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:7)

我假设您的模型包含一个包含一些文本的列,并且gtk.CellRendererText窗口小部件的text属性设置为该模型中的列索引。

如果向该模型添加新列,则可以使用它来设置每个单元格渲染器中使用的字体粗细。为此,只需将gtk.CellRendererText窗口小部件weight属性设置为模型中的新列索引,并将weight-set设置为True

之后,您只需使用pango.WEIGHTpango.WEIGHT_NORMALpango.WEIGHT_BOLD个常量设置模型中的字体粗细。

例如,假设这些是您的模型列(一个用于文本,一个用于字体粗细):

Model columns

这些是您为测试添加的几行:

Model rows

(请注意pango.WEIGHT_NORMAL=400pango.WEIGHT_BOLD=700

使用此模型,您可以使用列和文本渲染器创建gtk.TreeView

Treeview hierarchy

在渲染器中,您将text属性设置为模型中的text列:

Cell renderer text

以及模型中weight列的weight属性:

Cell renderer weight

使用添加到模型中的测试数据获得的结果是:

Final result

您可以看到文本显示的是模型中设置的字体粗细。