1#include<gtk/gtk.h>
2int main(int argc, char*argv[]) {
3GtkWidget*window;
4GtkWidget*aspect_frame;
5GtkWidget*drawing_area;
6gtk_init(&argc,&argv);
7window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
8gtk_window_set_title(GTK_WINDOW(window),"AspectFrame");
9g_signal_connect(G_OBJECT(window),"destroy",
10G_CALLBACK(gtk_main_quit),NULL);
11gtk_container_set_border_width(GTK_CONTAINER(window),10);
12/*创建一个比例框架,将它添加到顶级窗口中*/
13aspect_frame=gtk_aspect_frame_new("3*2",1,0, 2, FALSE);
14 gtk_aspect_frame_set(GTK_ASPECT_FRAME(aspect_frame),0,1,4,FALSE);
15gtk_container_add(GTK_CONTAINER(window),aspect_frame);
16gtk_widget_show(aspect_frame);
17/*添加一个子构件到比例框架中*/
18drawing_area=gtk_drawing_area_new();
19/*要求一个200×200的窗口,但是比例框架会给出一个200×100 *的窗口,
20因为已经指定了2×1的比例值*/
21gtk_widget_set_size_request(drawing_area,200,200);
22gtk_container_add(GTK_CONTAINER(aspect_frame),drawing_area);
23gtk_widget_show(drawing_area);
24gtk_widget_show(window);
25gtk_main();
26return 0;
27}
28