MAY
31

Hellow GTK+2.0

Published:2010-05-31 01:11:16 UTC

Screenshot-hello-gtk

やむにやまれぬ事情でGTKを勉強中です。。とりあえずHello world。右のスクリーンショットはWindowsっぽいですが、テーマをいじっているだけで正真正銘のUbuntu上での表示です。 Hello world表示するだけでちょこちょこコーディングしなければいけないのがめどい。。デザイナがあるらしいので、使い方を早くマスターしないと。。

 

 

 

#include <stdio.h>
#include <gtk/gtk.h>

static gboolean my_delete_event_handler(GtkWidget *widget,
                                        GdkEvent *event,
                                        gpointer data)
{
  g_print("delete!\n");

  return FALSE;
}

static void my_destroy_handler( GtkWidget *widget,
                                gpointer data)
{
  g_print("destry!\n");

  gtk_main_quit();
}

int main(int argc, char *argv[]){

  GtkWidget *window;
  GtkWidget *bbox;
  GtkWidget *button;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  bbox = gtk_hbutton_box_new();
  button = gtk_button_new();

  gtk_button_set_label(GTK_BUTTON(button), "Hello GTK!");


  g_signal_connect( G_OBJECT(window), "delete-event",
                    G_CALLBACK(my_delete_event_handler),
                    NULL);

  g_signal_connect( G_OBJECT(window), "destroy",
                    G_CALLBACK(my_destroy_handler),
                    NULL);
  
  gtk_container_add(GTK_CONTAINER(bbox), button);
  gtk_container_add(GTK_CONTAINER(window), bbox);

  gtk_widget_show_all(window);

  gtk_main();

  return 0;

}