0

我已经被这个问题困扰了一段时间。我有一个显示表格的树视图。表格的大小取决于用户的输入。我想让它看起来不错,当表格只有 2 列时,有很多空间没有使用。那么如何更改树视图的高度和宽度呢?谢谢

static void show_results(struct listaObjetos *vectorObjetos[],int cantidad, int tamanoMochila){
int i; 
char msg[180] = {0}; 
/
GtkCellRenderer *renderer; 
GtkTreeViewColumn *column;  


treeView = gtk_tree_view_new ();
 gtk_widget_set_size_request (GTK_WIDGET (treeView), 0, 0);


window2 = gtk_window_new (GTK_WINDOW_TOPLEVEL);


gtk_window_set_title(GTK_WINDOW(window2), "Resultados"); 

gtk_container_set_border_width(GTK_CONTAINER(window2),10);

gtk_widget_set_size_request (window2, 480, 320);

renderer = gtk_cell_renderer_text_new(); 

column = gtk_tree_view_column_new_with_attributes("column1        ", renderer, "text",COLUM1, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeView), column);

column = gtk_tree_view_column_new_with_attributes("colum2       ", renderer, "text",COLUM2, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeView), column);

column = gtk_tree_view_column_new_with_attributes("colum3      ", renderer, "text",COLUMN3, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeView), column);

column = gtk_tree_view_column_new_with_attributes("colum4", renderer, "text",COLUM4, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeView), column);

store = gtk_list_store_new (4, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT,G_TYPE_INT);

for(i=0; i<cantidad; i++)
{
    gtk_list_store_append (store, &iter);
    gtk_list_store_set (store, &iter, COLUM1, vectorObjetos[i]->x,COLUMN2, 
                            vectorObjetos[i]->y, COLUM3, vectorObjetos[i]->q,
                                    COLUM4,vectorObjetos[i]->z,-1);
}
gtk_tree_view_columns_autosize(GTK_TREE_VIEW (treeView));
gtk_tree_view_set_model (GTK_TREE_VIEW (treeView), GTK_TREE_MODEL (store));
g_object_unref (store);


scrolledWin = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledWin),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);

table = gtk_table_new(10,10,FALSE); 

gtk_table_set_row_spacings (GTK_TABLE (table), 5);
gtk_table_set_col_spacings (GTK_TABLE (table), 5);
gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);

gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolledWin), table);
label = gtk_label_new("Objetos sujetos a analisis");

gtk_table_attach_defaults(GTK_TABLE(table), label,4,5,0,1); 

g_snprintf(msg, sizeof msg, "A message here ",
                                cantidad, tamanoMochila );
label = gtk_label_new(msg);
gtk_table_attach_defaults(GTK_TABLE(table), label,0,10,1,2); 
label = gtk_label_new(" ");

gtk_table_attach_defaults(GTK_TABLE(table), label,3,4,2,4); 

gtk_table_attach_defaults (GTK_TABLE(table), treeView, 4,5,2,4); 
label = gtk_label_new(" ");

gtk_table_attach_defaults(GTK_TABLE(table), label,5,6,2,4); 

gtk_container_add (GTK_CONTAINER (window2), scrolledWin);
gtk_widget_show_all (window2);

}

我试图发布带有结果的图像,但由于声誉原因我无法发布

4

0 回答 0