- 论坛徽章:
- 0
|
谢谢楼上的兄弟
代码已经写出来了,现贴出来和大家分享
- #include <gtk/gtk.h>
- #include <gdk/gdkkeysyms.h>
- gboolean key_filter(GtkWidget *entry, GdkEventKey *event, gpointer data)
- {
- switch(event->keyval)
- {
- case GDK_0:
- case GDK_1:
- case GDK_2:
- case GDK_3:
- case GDK_4:
- case GDK_5:
- case GDK_6:
- case GDK_7:
- case GDK_8:
- case GDK_9:
- case GDK_KP_0:
- case GDK_KP_1:
- case GDK_KP_2:
- case GDK_KP_3:
- case GDK_KP_4:
- case GDK_KP_5:
- case GDK_KP_6:
- case GDK_KP_7:
- case GDK_KP_8:
- case GDK_KP_9:
- case GDK_BackSpace:
- case GDK_Return:
- case GDK_KP_Enter:
- case GDK_KP_Space:
- case GDK_Left:
- case GDK_Up:
- case GDK_Right:
- case GDK_Down:
- case GDK_Delete:
- case GDK_Home:
- case GDK_End:
- case GDK_Tab:
- return FALSE;
- default:
- return TRUE;
- }
- }
- int main(int argc, char **argv)
- {
- GtkWidget *window;
- GtkWidget *entry;
-
- gtk_init(&argc, &argv);
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- entry = gtk_entry_new();
- g_signal_connect(G_OBJECT(entry),"key-press-event",G_CALLBACK(key_filter),NULL);
- gtk_container_add(GTK_CONTAINER(window), entry);
- gtk_widget_show(entry);
- gtk_widget_show(window);
- gtk_main();
- return 0;
- }
复制代码 |
|