toggle.c

来自「开发linux应用-用gtk+和gdk开发linux图形用户界面应用--的实例」· C语言 代码 · 共 123 行

C
123
字号
/*  * File: togglebutton.c * Auth: Eric Harlow * * Example showing toggle button behavior */#include <gtk/gtk.h>/* * CloseAppWindow * * main window closing, end gtk */gint CloseAppWindow (GtkWidget *widget, gpointer *data){    gtk_main_quit ();    return (FALSE);}/* * event happened. */void ButtonEvent (GtkWidget *widget, gpointer *data){    g_print ("Button event: %s\n", data);}/* * main - begins here. */int main (int argc, char *argv[]){    GtkWidget *window;    GtkWidget *button;    GtkWidget *vbox;        /* --- GTK initialization --- */    gtk_init (&argc, &argv);        /* --- Create the top level window --- */    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);    gtk_window_set_title (GTK_WINDOW (window), "Toggle Button");    /* --- You should always remember to connect the destroy event     *     to the main window.     */    gtk_signal_connect (GTK_OBJECT (window), "delete_event",			GTK_SIGNAL_FUNC (CloseAppWindow), NULL);    /* --- Give the window a border --- */    gtk_container_border_width (GTK_CONTAINER (window), 50);        /*      * --- We create a vertical box (vbox) to pack the horizontal boxes into.     */    vbox = gtk_vbox_new (FALSE, 0);    /*      * --- Create a button     */    /* --- Create a new button. --- */    button = gtk_toggle_button_new_with_label ("Top Toggle Button");    /* --- Pack the button into the vertical box (vbox box1). --- */    gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);    /* --- Show the button --- */    gtk_widget_show (button);    gtk_signal_connect (GTK_OBJECT (button), "toggled",			GTK_SIGNAL_FUNC (ButtonEvent), "top toggled");    gtk_signal_connect (GTK_OBJECT (button), "pressed",			GTK_SIGNAL_FUNC (ButtonEvent), "top pressed");    gtk_signal_connect (GTK_OBJECT (button), "released",			GTK_SIGNAL_FUNC (ButtonEvent), "top released");    gtk_signal_connect (GTK_OBJECT (button), "clicked",			GTK_SIGNAL_FUNC (ButtonEvent), "top clicked");    gtk_signal_connect (GTK_OBJECT (button), "enter",			GTK_SIGNAL_FUNC (ButtonEvent), "top enter");    gtk_signal_connect (GTK_OBJECT (button), "leave",			GTK_SIGNAL_FUNC (ButtonEvent), "top leave");    /*      * --- Create another button     */    /* --- Create a new button. --- */    button = gtk_toggle_button_new_with_label ("Bottom Toggle Button");    /* --- Pack the button into the vertical box (vbox box1).  --- */    gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);    /* --- Show the button  --- */    gtk_widget_show (button);    gtk_signal_connect (GTK_OBJECT (button), "toggled",			GTK_SIGNAL_FUNC (ButtonEvent), "bottom toggled");    gtk_signal_connect (GTK_OBJECT (button), "pressed",			GTK_SIGNAL_FUNC (ButtonEvent), "bottom pressed");    gtk_signal_connect (GTK_OBJECT (button), "released",			GTK_SIGNAL_FUNC (ButtonEvent), "bottom released");    gtk_signal_connect (GTK_OBJECT (button), "clicked",			GTK_SIGNAL_FUNC (ButtonEvent), "bottom clicked");    gtk_signal_connect (GTK_OBJECT (button), "enter",			GTK_SIGNAL_FUNC (ButtonEvent), "bottom enter");    gtk_signal_connect (GTK_OBJECT (button), "leave",			GTK_SIGNAL_FUNC (ButtonEvent), "bottom leave");    /*      * --- Make the main window visible     */     gtk_container_add (GTK_CONTAINER (window), vbox);    gtk_widget_show (vbox);    gtk_widget_show (window);    gtk_main ();    return (0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?