我怎样才能最大化GtkGrid来填充整个GtkWindow? [英] How I can maximize GtkGrid to fill the entire GtkWindow?
本文介绍了我怎样才能最大化GtkGrid来填充整个GtkWindow?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用一个简单的布局创建了一个基本的 GtkGrid
应用程序,但是我不能让 GtkGrid
填满整个的GtkWindow
。这是创建布局的代码:
GtkWidget * window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window),800,600);
GtkWidget * grid = gtk_grid_new();
g_signal_connect(window,destroy,G_CALLBACK(gtk_main_quit),NULL);
GtkWidget * vpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
gtk_paned_set_position(GTK_PANED(vpaned),400);
GtkWidget * label = gtk_label_new(Label1111111111111111111111111111111);
GtkWidget * label2 = gtk_label_new(Label2);
GtkWidget * label3 = gtk_label_new(Label3);
GtkWidget * label4 = gtk_label_new(Label4);
gtk_paned_pack1(GTK_PANED(vpaned),label,FALSE,TRUE);
gtk_paned_pack2(GTK_PANED(vpaned),label2,FALSE,TRUE);
gtk_widget_show(label);
gtk_widget_show(label2);
gtk_widget_show(label3);
gtk_widget_show(label4);
gtk_widget_show(vpaned);
gtk_grid_attach(GTK_GRID(grid),label3,0,0,1,1);
gtk_grid_attach(GTK_GRID(grid),vpaned,0,1,1,1);
gtk_grid_attach(GTK_GRID(grid),label4,0,2,1,1);
gtk_widget_show(grid);
gtk_container_add(GTK_CONTAINER(window),grid);
gtk_widget_show(window);
解决方案
您可能会看看展开
属性,并确保它设置为 TRUE
(默认情况下,如果您在glade设计器中执行您的UI) -
I made a basic GtkGrid
application with a simple layout but I can't make the GtkGrid
fill the entire GtkWindow
. This is the code for creating the layout:
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
GtkWidget *grid = gtk_grid_new();
g_signal_connect(window,"destroy", G_CALLBACK(gtk_main_quit), NULL);
GtkWidget *vpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
gtk_paned_set_position (GTK_PANED (vpaned), 400);
GtkWidget *label = gtk_label_new("Label1111111111111111111111111111111");
GtkWidget *label2 = gtk_label_new("Label2");
GtkWidget *label3 = gtk_label_new("Label3");
GtkWidget *label4 = gtk_label_new("Label4");
gtk_paned_pack1 (GTK_PANED (vpaned), label, FALSE, TRUE);
gtk_paned_pack2 (GTK_PANED (vpaned), label2, FALSE, TRUE);
gtk_widget_show (label);
gtk_widget_show (label2);
gtk_widget_show (label3);
gtk_widget_show (label4);
gtk_widget_show (vpaned);
gtk_grid_attach(GTK_GRID(grid), label3, 0,0,1,1);
gtk_grid_attach(GTK_GRID(grid), vpaned, 0,1,1,1);
gtk_grid_attach(GTK_GRID(grid), label4, 0,2,1,1);
gtk_widget_show(grid);
gtk_container_add(GTK_CONTAINER(window), grid);
gtk_widget_show (window);
解决方案
You may have a look at expand
property and assure it is set to TRUE
(default if you do your UI within glade designer) - https://developer.gnome.org/gtk3/stable/GtkWidget.html
这篇关于我怎样才能最大化GtkGrid来填充整个GtkWindow?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文