我想在我的 TreeView 中将一些行加粗,而有些行在我将它们附加到 TreeView 时不加粗,稍后,我想在单击时取消加粗行。
最简单的方法是什么?
我想在我的 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
您使用添加到模型的测试数据获得的结果是:
您可以在其中看到文本以模型中设置的字体粗细显示。