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

Adding 2 different widgets on single window GTK+

我想在同一个 window 上添加 2 个小部件,一个是 gtk_drawing_area_new (); 类型,用于使用 Cairo,另一个是 fixed 类型,用于添加一些按钮。

我可以在同一个 Window 上执行此操作吗?我是 GTK+ 的新手。

使用 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