/
evo
/
Gtk4-tutorial
Обзор
Документация
Войти
/
evo
/
Gtk4-tutorial
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v0.8
src/misc/lb4.c
57 строк
1 KB
Toshio Sekiya
modified section two to three.
05 янв 2021, 04:41
05 янв 2021, 04:41
2788a37
Код
Авторство
О чём код?
#include <gtk/gtk.h> static void click1_cb (GtkButton *btn, gpointer user_data) { const gchar *s; s = gtk_button_get_label (btn); if (g_strcmp0 (s, "Hello.") == 0) gtk_button_set_label (btn, "Good-bye."); else gtk_button_set_label (btn, "Hello."); } static void click2_cb (GtkButton *btn, gpointer user_data) { GtkWindow *win = GTK_WINDOW (user_data); gtk_window_destroy (win); } static void on_activate (GApplication *app, gpointer user_data) { GtkWidget *win; GtkWidget *box; GtkWidget *btn1; GtkWidget *btn2; win = gtk_application_window_new (GTK_APPLICATION (app)); gtk_window_set_title (GTK_WINDOW (win), "lb4"); gtk_window_set_default_size (GTK_WINDOW (win), 400, 300); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_set_homogeneous (GTK_BOX (box), TRUE); gtk_window_set_child (GTK_WINDOW (win), box); btn1 = gtk_button_new_with_label ("Hello."); g_signal_connect (btn1, "clicked", G_CALLBACK (click1_cb), NULL); btn2 = gtk_button_new_with_label ("Quit"); g_signal_connect (btn2, "clicked", G_CALLBACK (click2_cb), win); gtk_box_append (GTK_BOX (box), btn1); gtk_box_append (GTK_BOX (box), btn2); gtk_widget_show (win); } int main (int argc, char **argv) { GtkApplication *app; int stat; app = gtk_application_new ("com.github.ToshioCP.lb4", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL); stat =g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return stat; }