gpt4 book ai didi

c - 是否可以将 GtkLayouts 放入 GtkLayout 中?

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:08 26 4
gpt4 key购买 nike

我想将 2 个 GtkLayouts 放入 GtkLayout 中。但是,它似乎不起作用。任何人都知道为什么?或者,使用 gtk 组件有一些限制。

#include <gtk/gtk.h>  

int main( int argc, char *argv[] )
{
GtkWidget *window, *main_container, *t, *p;

gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "layout test");
gtk_window_maximize(GTK_WINDOW(window));
g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
main_container = gtk_layout_new(NULL, NULL);

GdkColor color;
gdk_color_parse ("green", &color);
gtk_widget_modify_bg( GTK_WIDGET(main_container), GTK_STATE_NORMAL, &color);

gdk_color_parse ("red", &color);
t = gtk_layout_new(NULL, NULL);
gtk_layout_set_size( GTK_LAYOUT(t), 300, 300);
gtk_widget_modify_bg( GTK_WIDGET(t), GTK_STATE_NORMAL, &color);

gdk_color_parse ("yellow", &color);
p = gtk_layout_new(NULL, NULL);
gtk_layout_set_size( GTK_LAYOUT(p), 300, 300);
gtk_widget_modify_bg( GTK_WIDGET(p), GTK_STATE_NORMAL, &color);

gtk_layout_put( GTK_LAYOUT(main_container), t, 0, 0 );
gtk_layout_put( GTK_LAYOUT(main_container), p, 0, 300 );
gtk_container_add(GTK_CONTAINER(window), main_container);

gtk_widget_show_all (window);
gtk_main ();
return 0;
}

最佳答案

我找到了答案。如果将容器附加到另一个容器中,则应将其视为小部件。因此,使用 gtk_widget_set_size_request 而不是 gtk_layout_set_size 将解决这个问题。

关于c - 是否可以将 GtkLayouts 放入 GtkLayout 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47879677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com