当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 我在 gtkTreeView 控件中看不到文字,但是条目的确添加进去了。
帖子发表于 : 2010-05-02 12:52 

注册: 2010-04-23 21:17
帖子: 65
送出感谢: 0 次
接收感谢: 0 次
附件:
tree.png
tree.png [ 3.36 KiB | 被浏览 442 次 ]
我反复点击“开始计时”按钮,gtkTreeView的长度的确在增加,证明添加项目的程序没有问题,但是我什么文字都看不到。
我的程序只有两个文件:
代码:
#include <gtk/gtk.h>

enum{
   NAME_COLUMN = 0,
   START_TIME_COLUMN,
   END_TIME_COLUMN,
   EXPEND_COLUMN,
   MAN_COLUMNS
};
//台球桌数据结构
typedef struct {
   //是否空闲
   char free;
   //使用历史,使用树状结构存储。
   GtkTreeStore *history;
}billiard_table;

//初始数组
void billiard_table_init(billiard_table array[],int len)
{
   int i;
   g_type_init();
   for(i=0;i<len;i++){
      array[i].free = TRUE;
      array[i].history = gtk_tree_store_new(
            MAN_COLUMNS, G_TYPE_STRING, G_TYPE_STRING,
            G_TYPE_STRING, G_TYPE_FLOAT);
   }
}
代码:
#include "billiard_table.h"

//全局变量

 ... ...

billiard_table array_billiard_table[21];

GtkWidget *tree;

 ... ...

//计时或停止计时
void start_and_stop(GtkWidget *widget, gpointer *data)
{

 ... ...

      //将信息加入树
      GtkTreeIter iter;
      gtk_tree_store_append(
            array_billiard_table[current].history,
            &iter,
            NULL);
      gtk_tree_store_set(
            array_billiard_table[current].history,
            &iter,
            NAME_COLUMN,"新用户",
            START_TIME_COLUMN,"00:00",
            END_TIME_COLUMN,"00:00",
            EXPEND_COLUMN,00.00,-1);

 ... ...

}

 ... ...

int main(int argc, char *argv[])
{

 ... ...

   billiard_table_init(array_billiard_table,21);

 ... ...
   
   //树
   tree = gtk_tree_view_new();
   gtk_fixed_put(GTK_FIXED(anyone_table),tree,15,55);
   //要想让视图显示出数据,必须建立GtkCellRenderer与GtkTreeViewColumn
   GtkCellRenderer *renderer;
   GtkTreeViewColumn *column;
   //关联视图与模型
   gtk_tree_view_set_model(
         GTK_TREE_VIEW(tree),
         GTK_TREE_MODEL(array_billiard_table[current].history));
   //建立一个GtkCellRenderer
   renderer = gtk_cell_renderer_text_new();
   //设置GtkCellRenderer的渲染方式
   g_object_set(G_OBJECT(renderer),
                 "foreground", "red",
                 NULL);
   column = gtk_tree_view_column_new();
   //将列设置为可以手动改变大小
   gtk_tree_view_column_pack_start (column, renderer, TRUE);
   gtk_tree_view_column_set_resizable(column,TRUE);
   gtk_tree_view_column_set_sizing(
         column, GTK_TREE_VIEW_COLUMN_FIXED);
   gtk_tree_view_column_set_fixed_width (column, 100);

   //将列加入gtk_tree_view
   gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);

 ... ...

}


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译