Вопрос Как создать GUI-приложение на языке C с помощью GTK +?


Я написал код на языке C с помощью GTK. Этот код дает окно с 2 кнопками, но я не знаю, как сделать из этого кода автономное приложение GUI.

Пожалуйста, объясните мне шаг за шагом и подробно.

#include<gtk/gtk.h>
void static call(GtkWidget *widget,gpointer data)
{
    g_print("%s \n",(gchar*) data);
}

int main(int agrc, char *agrv[])
{
    gtk_init(&agrc,&agrv);
    GtkWidget *window,*button,*vbox;
    window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    g_signal_connect(window,"delete-event",G_CALLBACK(gtk_main_quit),NULL);
    gtk_window_set_title(GTK_WINDOW(window),"two button");

    vbox=gtk_vbox_new(0,0);
    button=gtk_button_new_with_label("button 1");
    g_signal_connect(button,"clicked",G_CALLBACK(call),(gpointer) "BUTTON 1");
    gtk_box_pack_start(GTK_BOX(vbox),button,0,0,0);
    button=gtk_button_new_with_label("button 2");
    g_signal_connect(button,"clicked",G_CALLBACK(call),(gpointer) "BUTTON 2");
    gtk_box_pack_start(GTK_BOX(vbox),button,0,0,0);
    button=gtk_button_new_with_label("Close");
    g_signal_connect(button,"clicked",G_CALLBACK(call),(gpointer) "BUTTON 2");
    gtk_box_pack_start(GTK_BOX(vbox),button,0,0,0);
    gtk_container_set_border_width(GTK_CONTAINER(window),10);
    gtk_container_add(GTK_CONTAINER(window),vbox); 
    gtk_widget_show_all(window);
    gtk_main();
    return (0);
}

1
2017-12-25 19:52


происхождения




ответы:


Если вы установили libgtk2.0-dev пакет в обычном порядке из репозитория, то вы можете создать свое приложение с помощью gcc, с помощью pkg-config для установки соответствующих директив include и library, например.

gcc -o myapp myapp.c `pkg-config --cflags --libs gtk+-2.0`

Для получения дополнительной информации см. Учебник GTK + 2.0 на Центр разработчиков Gnome


2
2017-12-25 20:44



эта команда отлично работает и создает .exe-файл для простого кода c без каких-либо #include<gtk/gtk.h в коде c i586-mingw32msvc-gcc code.c -o code но когда я пытаюсь скомпилировать код c с #include<gtk/gtk.h используя следующую команду, он дает мне ошибку i586-mingw32msvc-gcc code.c -o code pkg-config --cflags --libs gtk+-2.0 - osama