我想在我的 TreeView 中将一些行设为粗体,而另一些行在我将它们附加到 TreeView 时不加粗,稍后,我想在单击时取消加粗行。
最简单的方法是什么?
最佳答案
我假设您有一个模型,其中包含一个包含一些文本的列,并且 gtk.CellRendererText
小部件的 text
属性设置为该模型中的列索引.
如果您向该模型添加一个新列,您可以使用它来设置每个单元格渲染器中使用的字体粗细。为此,只需将 gtk.CellRendererText
小部件 weight
属性设置为模型中的新列索引,并将 weight-set
设置为 True
。
之后,您只需使用任何 pango.WEIGHT
常量(例如 pango.WEIGHT_NORMAL
和 pango)在模型中设置字体粗细。 WEIGHT_BOLD
。
例如,假设这些是您的模型列(一个用于文本,一个用于字体粗细):
这些是您为测试添加的几行:
(注意 pango.WEIGHT_NORMAL=400
和 pango.WEIGHT_BOLD=700
)
使用此模型,您可以创建一个带有列和文本呈现器的 gtk.TreeView
:
在渲染器中,您将 text
属性设置为模型中的 text
列:
和模型中 weight
列的 weight
属性:
您使用添加到模型的测试数据获得的结果是:
您可以看到文本以模型中设置的字体粗细显示。
关于python - PyGTK TreeView 中的粗体/非粗体行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491310/