【GTK】 关于 TreeView
我的需求是想做一个滚动文字
当鼠标移动到TreeView的一行上,其中一个cell为文本固定长度
如果超过长度会自动滚动显示
但是判断文字长度和框的长度需要考虑这个文本的字体大小
他可能会以粗体显示
现在遇到问题是 如何改变一行中的一个GtkCellRenderer属性为粗体
TreeView tutorial chapter5.7 refers to this question
但是基本和我用的差不多 但是实现不了
我们有用glade画了一个treeview使用了一种方法可以做到
但是我自己创建的窗体却无法做到一个cell的粗体显示
我怀疑是我对treeview的某些属性的可能设置的导致无法单独处理cell的属性
具体实现是这样的
enum{
COL_PAD1 = 0,
COL_NAME, //期望为粗体
COL_AGE,
COL_IS_NAME_BOLD, //这个会和COL_NAME是否为粗体属性挂靠
//COL_PIC,
NUM_COLS
};
create a tree store:
store = gtk_list_store_new(NUM_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_BOOLEAN );
//append a row and fill in some data
gtk_list_store_append(store, &iter);
gtk_list_store_set( store, &iter,
COL_PAD1, "test1 ",
COL_NAME, "Heinz El-Mann ",//name
COL_AGE, 51,
COL_IS_NAME_BOLD, TRUE, //True
-1);
render = gtk_cell_renderer_text_new();
g_object_set(render, "weight ", PANGO_WEIGHT_BOLD, NULL);
col = gtk_tree_view_column_new_with_attributes( "Name ", render,
"text ", COL_NAME, NULL);
//call this func to assign this render property rely on the
//COL_IS_NAME_BOLD
gtk_tree_view_column_add_attribute(col, render,
"weight-set ",COL_IS_NAME_BOLD);
gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
但是最终显示无法这个cell粗体
要么一整列都是粗体
有谁知道的可以提出建议
也可以向我要代码 研究一下
200分献上 只要能解决肯定给分
否则只能转去非技术
[解决办法]
mark
[解决办法]
星星也有不懂的啊