分类: LINUX
2009-02-19 22:03:32
hello_box.c |
/* 本例的主要目的是在主窗口中旋转一个box控件,再在box控件中 * 放置一个单行编辑框和一个按钮 * 并且单击按钮退出程序 */ #include //按钮“button”的回调函数 void cb_button(GtkWidget *widget, gpointer data) {//cb = call back g_print("你单击了按钮\n"); gtk_main_quit(); } int main(int argc, char *argv[]) { GtkWidget *main_window; //主窗口对象 GtkWidget *hbox, *button, *editor; gtk_init(&argc, &argv); main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(main_window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_window_set_title(GTK_WINDOW(main_window), "Hello,Dubuntu2!"); gtk_window_set_default_size(GTK_WINDOW(main_window), 200,50); button = gtk_button_new_with_label("退出程序"); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(cb_button),NULL); editor = gtk_entry_new(); hbox = gtk_hbox_new(FALSE, 10); gtk_box_pack_start(GTK_BOX(hbox), editor, TRUE, TRUE, 10); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 10); gtk_container_add(GTK_CONTAINER(main_window), hbox); gtk_widget_show_all(main_window); gtk_main(); return 0; |
编程程序:gcc -o hello_box hello_box.c `pkg-config --cflags gtk+-2.0` -g -Wall 运行程序:./hello_box |
GtkWidget* gtk_hbox_new (gboolean homogeneous, |
void gtk_box_pack_start (GtkBox*box,参数: box:就是往这个“box”中放入新的控件 child:就是放入这个控件 expand 和 fill:笔者始终认为这两个参数只可意会,不可言传 padding:指示同 "child" 控件相邻控件之间的间距(单位为像素 pixel) |