LinuxÒÁµéÔ°ÂÛ̳'s Archiver

csl79wuhan ·¢±íÓÚ 2003-5-23 19:17

ÈçºÎʹÓÃGtk+ ²¶»ñÊó±ê×ó¼ü

ÄÄλ¸ßÊÖ¿ÉÒÔ¸æËßÎÒÈçºÎÓà GTK+ ²¶»ñÊó±ê×ó¼ü°´ÏÂÐźţ¡£¡ ×îºÃÄÜдһµãÀý×Ó£¬Ð»Ð»£¡

faraway ·¢±íÓÚ 2003-5-28 17:59

demonstration:

[code]
#include <gtk/gtk.h>

int
button_press_handler(GtkWidget* __widget,
                GdkEventButton* __evnet,
                gpointer __data)
{
        static int __n = 0;
        char __str[50];
       
        sprintf(__str, "You clicked %d times", __n++);
        gtk_label_set_text(GTK_LABEL(__data), __str);       
        return 0;
}

int
exit(GtkWidget* __widget, gpointer __data)
{
        gtk_main_quit();
        return TRUE;
}
int
main(int __argc, char* __argv[])
{
        GtkWidget* __win;
        GtkWidget* __label;

        gtk_init(&__argc, &__argv);

        __win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_signal_connect (G_OBJECT (__win), "destroy",
                                              G_CALLBACK (exit), NULL);
        gtk_widget_set_size_request(__win, 400, 300);
       
        __label = gtk_label_new("hello linux!");
        gtk_widget_set_events(__win, GDK_EXPOSURE_MASK |
                                    GDK_BUTTON_PRESS_MASK);
        g_signal_connect(G_OBJECT(__win), "button_press_event",
                        G_CALLBACK(button_press_handler),
                        __label);

        gtk_container_add(GTK_CONTAINER(__win), __label);

        gtk_widget_show_all(__win);
        gtk_main();
        return 0;
}
[/code]

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.