int main( int argc, char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; GtkWidget *box; gtk_init (&argc, &argv); /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Pixmap’d Buttons!"); /* It’s a good idea to do this for all windows. */ g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL); /* Sets the border width of the window. */ gtk_container_set_border_width (GTK_CONTAINER (window), 50); /* Create a new button */ button = gtk_button_new (); /* Connect the "clicked" signal of the button to our callback */ g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (callback), (gpointer) "cool button"); /* This calls our box creating function */ box = xpm_label_box ("info.xpm", "cool button"); /* Pack and show all our widgets */ gtk_widget_show (box); gtk_container_add (GTK_CONTAINER (button), box); gtk_widget_show (button); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (window); /* Rest in gtk_main and wait for the fun to begin! */ gtk_main (); return 0; }
/** * @brief 主函数 * * @param argc * @param argv[]] * * @return */ int main (int argc, char *argv[]) { /* GtkWidget 是构件的存储类型 */ GtkWidget *window; GtkWidget *button; GtkWidget *box; gtk_init (&argc, &argv); /* 创建一个新窗口 */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "DreamPhoto"); /* 对所有的窗口做这一步 */ g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL); /* 设置窗口边框的宽度 */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* 创建一个新的按钮 */ button = gtk_button_new (); /* 连接按钮的 "clicked" 信号到我们的回调 */ g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (button_openfile), (gpointer) "打开"); /* 调用我们的创建盒的函数 */ box = xpm_label_box ("open.png", "打开"); /* 组装和显示所有的构件 */ gtk_widget_show (box); gtk_container_add (GTK_CONTAINER (button), box); gtk_widget_show (button); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (window); /* 停在这里,等待事件发生。 */ gtk_main (); return 0; }
int main(int argc,char **argv) { GtkWidget *window; GtkWidget *button; GtkWidget *box; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window),"Pixmap 'd button!"); g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL); g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL); gtk_container_set_border_width(GTK_CONTAINER(window),100); button=gtk_button_new(); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(callback),(gpointer)"cool button"); box=xpm_label_box("/home/wangyao/文档/gtk/W3.jpg","cool button"); gtk_widget_show(box); gtk_container_add(GTK_CONTAINER(button),box); gtk_widget_show(button); gtk_container_add(GTK_CONTAINER(window),button); gtk_widget_show(window); gtk_main(); return 0; }
int main(int argc, char const *argv[] ) { GtkWidget *window; GtkWidget *button; GtkWidget *box; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Button with image"); g_signal_connect(window, "delete-event", G_CALLBACK(gtk_main_quit), NULL); gtk_container_set_border_width(GTK_CONTAINER(window), 10); // Use gtk_button_new create a button without parameters. button = gtk_toggle_button_new(); gtk_widget_show(button); g_signal_connect(button, "released", G_CALLBACK(release_callback), (gpointer) "button"); g_signal_connect(button, "clicked", G_CALLBACK(click_callback), (gpointer) "button"); g_signal_connect(button, "toggled", G_CALLBACK(toggled_callback), (gpointer) "button"); g_signal_connect(button, "pressed", G_CALLBACK(press_callback), (gpointer) "button"); g_signal_connect(button, "enter", G_CALLBACK(enter_callback), (gpointer) "button"); g_signal_connect(button, "leave", G_CALLBACK(leave_callback), (gpointer) "button"); // Insert button 1 into the upper left quadrant of the table box = xpm_label_box("folder.xpm", "Open file"); gtk_widget_show(box); gtk_container_add(GTK_CONTAINER(button), box); gtk_container_add(GTK_CONTAINER(window), button); gtk_widget_show(window); gtk_main(); return 0; }
int main( int argc, char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; GtkWidget *button_quit; GtkWidget *box; GtkWidget *box_quit; GtkWidget *quit; GtkAccelGroup *accel_group = NULL; gtk_init (&argc, &argv); /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Pixmap'd Buttons!"); /* It's a good idea to do this for all windows. */ g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL); /* Sets the border width of the window. */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Create a new button */ button = gtk_button_new (); button_quit = gtk_button_new (); accel_group = gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(window), accel_group); /* Connect the "clicked" signal of the button to our callback */ g_signal_connect (button, "clicked", G_CALLBACK (main), (gpointer) "Neues Fenster"); g_signal_connect (button_quit, "clicked", G_CALLBACK (gtk_main_quit), (gpointer) "Neues Fenster"); /* This calls our box creating function */ box = xpm_label_box ("/usr/share/icons/gnome/24x24/actions/filenew.png", "Neues Fenster"); box_quit = xpm_label_box ("/usr/share/icons/gnome/24x24/actions/gtk-quit.png", "Beenden"); /* Pack and show all our widgets */ gtk_widget_show (box); gtk_widget_show (box_quit); gtk_container_add (GTK_CONTAINER (button), box); gtk_container_add (GTK_CONTAINER (button_quit), box_quit); gtk_widget_show (button); gtk_widget_show (button_quit); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (window); /* Rest in gtk_main and wait for the fun to begin! */ gtk_main (); return 0; }