Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
include <gtk/gtk.h> GtkWidget *Window; GtkWidget *label; set_text (GtkWidget *widget, GdkEventKey *event, gpointer user_data){ gchar keypress = event->keyval; gtk_label_set_text (GTK_LABEL (label), &keypress); g_printf("key-press-event, %i \n", keypress); }int main (int argc, char *argv[]){ gtk_init (&argc, &argv); Window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (Window), "Window"); label = gtk_label_new ("ничего не нажато"); gtk_container_add (GTK_CONTAINER(Window), label); g_signal_connect (Window, "key_press_event", G_CALLBACK (set_text), NULL); g_signal_connect (Window, "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_widget_show (Window); gtk_widget_show (label); gtk_main(); return 0;}
set_text (GtkWidget *widget, GdkEventKey *event, gpointer user_data){ gchar keypress = event->keyval; <- смутно понял "event->keyval" как с этим работать gtk_label_set_text (GTK_LABEL (label), &keypress);<- Основной вопрос. Допустим я нажал клавишу "S" то "label" должен отобразить "S" а если я нажал "Ы" то и результат в "label" должен быть соответствующим. g_printf("key-press-event, %i \n", keypress); }
Страница сгенерирована за 0.02 секунд. Запросов: 22.