entry.c

来自「gtk1.2的教程」· C语言 代码 · 共 94 行

C
94
字号
/* example-start entry entry.c */#include <gtk/gtk.h>void enter_callback( GtkWidget *widget,                     GtkWidget *entry ){  gchar *entry_text;  entry_text = gtk_entry_get_text(GTK_ENTRY(entry));  printf("Entry contents: %s\n", entry_text);}void entry_toggle_editable( GtkWidget *checkbutton,                            GtkWidget *entry ){  gtk_entry_set_editable(GTK_ENTRY(entry),			 GTK_TOGGLE_BUTTON(checkbutton)->active);}void entry_toggle_visibility( GtkWidget *checkbutton,                              GtkWidget *entry ){  gtk_entry_set_visibility(GTK_ENTRY(entry),			 GTK_TOGGLE_BUTTON(checkbutton)->active);}int main( int   argc,          char *argv[] ){    GtkWidget *window;    GtkWidget *vbox, *hbox;    GtkWidget *entry;    GtkWidget *button;    GtkWidget *check;    gtk_init (&argc, &argv);    /* create a new window */    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);    gtk_widget_set_usize( GTK_WIDGET (window), 200, 100);    gtk_window_set_title(GTK_WINDOW (window), "GTK Entry");    gtk_signal_connect(GTK_OBJECT (window), "delete_event",                       (GtkSignalFunc) gtk_exit, NULL);    vbox = gtk_vbox_new (FALSE, 0);    gtk_container_add (GTK_CONTAINER (window), vbox);    gtk_widget_show (vbox);    entry = gtk_entry_new_with_max_length (50);    gtk_signal_connect(GTK_OBJECT(entry), "activate",		       GTK_SIGNAL_FUNC(enter_callback),		       entry);    gtk_entry_set_text (GTK_ENTRY (entry), "hello");    gtk_entry_append_text (GTK_ENTRY (entry), " world");    gtk_entry_select_region (GTK_ENTRY (entry),			     0, GTK_ENTRY(entry)->text_length);    gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);    gtk_widget_show (entry);    hbox = gtk_hbox_new (FALSE, 0);    gtk_container_add (GTK_CONTAINER (vbox), hbox);    gtk_widget_show (hbox);                                      check = gtk_check_button_new_with_label("Editable");    gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0);    gtk_signal_connect (GTK_OBJECT(check), "toggled",			GTK_SIGNAL_FUNC(entry_toggle_editable), entry);    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), TRUE);    gtk_widget_show (check);        check = gtk_check_button_new_with_label("Visible");    gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0);    gtk_signal_connect (GTK_OBJECT(check), "toggled",			GTK_SIGNAL_FUNC(entry_toggle_visibility), entry);    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), TRUE);    gtk_widget_show (check);                                       button = gtk_button_new_with_label ("Close");    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",			       GTK_SIGNAL_FUNC(gtk_exit),			       GTK_OBJECT (window));    gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_widget_grab_default (button);    gtk_widget_show (button);        gtk_widget_show(window);    gtk_main();    return(0);}/* example-end */

⌨️ 快捷键说明

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