【发布时间】:2015-06-10 22:04:09
【问题描述】:
我想在同一个窗口中添加 2 个小部件,一个是 gtk_drawing_area_new (); 类型,用于使用 Cairo,另一个是 fixed,用于添加一些按钮。
无论如何我可以在同一个窗口上执行此操作吗?我是 GTK+ 的新手。
【问题讨论】:
-
我知道我做错了唯一的事情就是使用 Cairo 并使用简单的 GTK 函数,如
button和layout以及 cairo
我想在同一个窗口中添加 2 个小部件,一个是 gtk_drawing_area_new (); 类型,用于使用 Cairo,另一个是 fixed,用于添加一些按钮。
无论如何我可以在同一个窗口上执行此操作吗?我是 GTK+ 的新手。
【问题讨论】:
button 和 layout 以及 cairo
使用 GtkContainer 子类,例如 GtkHBox、GtkVBox 或 GtkGrid
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
【讨论】: