我怎样才能最大化GtkGrid来填充整个GtkWindow? [英] How I can maximize GtkGrid to fill the entire GtkWindow?

查看:472
本文介绍了我怎样才能最大化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_pa​​ck1(GTK_PANED(vpaned),label,FALSE,TRUE);
gtk_paned_pa​​ck2(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆