西村ゆきえさんのピアノは、最高です。
#include <gtk/gtk.h> int main(int argc, char **argv) { GtkWidget *window; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_signal_connect_(GTK_OBJECT(window), "destory", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); gtk_widget_show(widndow); gtk_main(); return 0; }
$ gcc -Wall -g hello.c -o hello `gtk-config --cflags` `gtk-config --libs`gtk-configは、GTKを使うプログラムのコンパイルオプション等の情報を返すツールである。
char == gchar int == gint short == gshort long == glong void == gpointerGlibの便利な関数
char *g_strdup(const gchar *str); gpointer g_malloc(gulong size);
event button_press_event button_release_event delete_event destroy_event focus_in_event focus_out_event selection_clear_event selection_request_event selection_notify_event drag_begin_event drag_request_event drag_end_event drop_enter_event drop_leave_event drop_data_available_eventイベント発生時の処理を記述するコールバック関数は、次の形式です。
void callback_function(GtkWidget *widget, GdkEvent *event, gpointer data);イベントへの接続は、gtk_signal_connectを使って次のようにします。
gtk_signal_connect(GTK_OBJECT(btn_file_open), "button_press_event", GTK_SIGNAL_FUNC(on_btn_file_open), NULL);
GtkWidget *vbox; vbox = gtk_vbox_new(FALSE, 0);
GtkItemFactoryウィジェットを使用すると、もっと簡単にメニューを作成することができます。