首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【GTK】 关于 TreeView,该如何解决

2012-02-16 
【GTK】 关于 TreeView我的需求是想做一个滚动文字当鼠标移动到TreeView的一行上,其中一个cell为文本固定长

【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
[解决办法]
星星也有不懂的啊

热点排行