python - PyGTK TreeView 中的粗体/非粗体行

标签 python click pygtk glade gtktreeview

我想在我的 TreeView 中将一些行设为粗体,而另一些行在我将它们附加到 TreeView 时不加粗,稍后,我想在单击时取消加粗行。

最简单的方法是什么?

最佳答案

我假设您有一个模型,其中包含一个包含一些文本的列,并且 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

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

关于python - PyGTK TreeView 中的粗体/非粗体行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491310/

相关文章:

python - Django:在通用 View 中提供下载服务

python - 使用条件检查对嵌套列表中的元素求和

python - pygtk 应用程序中的单独线程

python - gtk 自定义微调按钮

python - 在 django-oscar 中禁用评论

python - 从不等长度的数组创建堆叠直方图

click - Openlayers如何处理 map onclick和同时绘制问题

jquery - 使用 jQuery 选择与另一个元素相同的 Div 中的某些元素类型

Excel VBA 复选框单击和更改事件相同吗?

python - 带有框的 pygtk 窗口忽略所有 X(鼠标)事件(通过它们)