[C] Hello, GTK! →→→→→进入此内容的聊天室

来自 , 2020-02-23, 写在 C, 查看 132 次.
URL http://www.code666.cn/view/feecee9f
  1. /**
  2.  * hellogtk.c
  3.  * gtk-3.0
  4.  */
  5. #include <gtk/gtk.h>
  6.  
  7. /* a callback function */
  8. static void hello (GtkWidget *widget, gpointer data)
  9. {
  10.     g_print ("%s\n", (char *)data);
  11. }
  12.  
  13. int main (int argc, char* argv[])
  14. {
  15.     /* first thing first */
  16.     gtk_init (&argc, &argv);
  17.  
  18.     /* window object */
  19.     GtkWidget* window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  20.     gtk_window_set_title (GTK_WINDOW (window), "Hello, GTK!");
  21.     gtk_widget_set_size_request (window, 320, 200);
  22.     gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  23.     gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
  24.     gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER_ALWAYS);
  25.     g_signal_connect (G_OBJECT (window), "delete_event",
  26.                       G_CALLBACK (gtk_main_quit), NULL);
  27.     gtk_widget_show (window);
  28.  
  29.     /* a container */
  30.     GtkWidget *box = gtk_box_new (FALSE, 0);
  31.     gtk_container_add (GTK_CONTAINER (window), box);
  32.     gtk_widget_show (box);
  33.  
  34.     /* two buttons */
  35.     GtkWidget *button1, *button2;
  36.     button1 = gtk_button_new_with_label ("Hello, World!");
  37.     g_signal_connect (button1, "clicked", G_CALLBACK(hello), "Hello, World!");
  38.     gtk_box_pack_start(GTK_BOX (box), button1, TRUE, FALSE, 0);
  39.     gtk_widget_show (button1);
  40.  
  41.     button2 = gtk_button_new_with_label ("Hello, GTK!");
  42.     g_signal_connect (button2, "clicked", G_CALLBACK(hello), "Hello, GTK!");
  43.     gtk_box_pack_start (GTK_BOX (box), button2, TRUE, FALSE, 0);
  44.     gtk_widget_show (button2);
  45.  
  46.     /* main loop start */
  47.     gtk_main ();
  48.  
  49.     return 0;
  50. }

回复 "Hello, GTK!"

这儿你可以回复上面这条便签

captcha