在单个窗口GTK +上添加2个不同的小部件

时间:2015-06-10 11:06:57

标签: c++ gtk

我想在同一个窗口中添加2个小部件,其中一个类型为gtk_drawing_area_new ();,用于使用Cairo,而其他小部件为fixed则添加一些按钮。

无论如何我可以在同一个窗口上执行此操作吗?我是GTK +的新手。

1 个答案:

答案 0 :(得分:1)

使用GtkContainer子类,例如GtkHBoxGtkVBoxGtkGrid

GtkWidget *hbox = gtk_hbox_new (FALSE, 0);
GtkWidget *drawingArea = gtk_drawing_area_new ();
GtkWidget *button = gtk_button_new_with_label ("Button");

gtk_container_add (GTK_CONTAINER (window), hbox);

gtk_box_pack_start (GTK_BOX (hbox), drawingArea, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);

gtk_widget_show_all (window);

您可以在此处查看所有可用的标准容器:https://developer.gnome.org/gtk3/stable/GtkContainer.html#GtkContainer.object-hierarchy