gpt4 book ai didi

c - 在 Gtk 中,每个 TreeView 行是否可以有一个单元格渲染器?

转载 作者:行者123 更新时间:2023-12-01 11:51:15 26 4
gpt4 key购买 nike

在 Gtk+ 中,每列可以有多个单元格渲染器,但是我想在不同的行中使用不同的单元格渲染器。例如,我想在树 View 中列出对象的属性。对于 bool 属性,使用切换按钮比编辑 GtkCellRendererText 简单得多。并输入 TRUEFALSE .

我知道我可以通过设置回调来对行数据使用react gtk_tree_view_column_set_cell_data_func() .但是在回调中,单元格渲染器已经修复,我只能更改其外观。

编辑: ptomato 指出了如何在 Vala 中完成。我获取了这些信息并构建了一个基于 C 的单元格渲染器,它采用一个 GObject 和一个列表存储(假设第一列包含属性名称)来根据属性的类型显示自定义单元格。我还子类化了一个树 View 小部件,它结合了这一点以便于使用。这两个组件都可以在 Github 找到.

最佳答案

这是how dconf-editor does it : 子类 GtkCellRenderer要创建自定义渲染器,请创建一个名为 renderer 的属性。返回 GtkCellRendererText , GtkCellRendererToggle等,取决于需要什么,并覆盖所有 GtkCellRenderer信号如 get_size , render , activate等将它们传递给底层 renderer .

它是在 Vala 中完成的,但转换为 C 应该不会太难。

关于c - 在 Gtk 中,每个 TreeView 行是否可以有一个单元格渲染器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11297187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com