2011-12-13 276 views

回答

6

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

如果您向该模型添加新列,您可以使用它来设置每个单元格渲染器中使用的字体重量。要做到这一点,只需将gtk.CellRendererText小部件weight属性设置为模型中的新列索引,然后将weight-set设置为True

之后,您只需使用pango.WEIGHT常数(如pango.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

在这里你可以看到文本显示与在设置字体的重量模型。

+0

感谢您的快速响应。我读了你刚刚解释过的doc thigks。但我不知道该怎么做。如何访问gtk.CellRendererText?我刚刚从Glade创建了TreeView,并将代码中的行附加到它。我如何从我的TreeView获取渲染器,以及如何将gtk.CellRendererText小部件的weight属性设置为模型中的新列索引,并将权重设置为True?我应该在林间空地做什么,或者我以编程方式做?我看着gtk.TreeView的文档,并没有找到如何使用单元格渲染器。你能解释一下吗?对不起,这是我第一次与GTK合作。 – umpirsky

+0

我添加了一个完整的截图示例。我认为这应该是完全清楚的。 – jcollado

+0

啊,完美。因为我错过了字体重量属性可以绑定到行值http://i.stack.imgur.com/Q2ikZ.png的事实,所以我非常满意。非常感谢你! – umpirsky