Привет, я работаю над проектом в GTK + 3 на Ubuntu 14.04 LTS. Я пытаюсь использовать Glade, но когда я попытался подключить «переключенный» сигнал кнопки переключения к функции, называемой kaczka, после компиляции я получил это в своей консоли: (Gra_w_Statki:11072): Gtk-Warning**:Could not find signal handler 'kaczka. Did you compile with -rdynamic?
Невозможно подключить сигнал и обработчик сигналов в Glade GTK + 3
Окно и кнопка рендеринга и работать нормально, за исключением того, что кнопка переключения ничего не меняет. Что я делаю не так ?
Это, как я пытался подключить кнопки переключения и функции Click!
Мои Linker Настройки являются: pkg-config --libs gtk+-3.0
И мои настройки компилятора: pkg-config --cflags gtk+-3.0
Я использую Code :: Blocks 13.12 с компилятором GCC.
И это мой код:
#include <stdlib.h>
#include <gtk/gtk.h>
void kaczka (GtkToggleButton *tbutton, gpointer data)
{
gtk_main_quit();
}
int main (int argc, char *argv[])
{
GtkWidget *win = NULL;
GtkBuilder *builder;
gtk_init (&argc, &argv);
builder=gtk_builder_new();
gtk_builder_add_from_file(builder, "kaczka.glade", NULL);
win=GTK_WIDGET(gtk_builder_get_object(builder,"window1"));
gtk_builder_connect_signals(builder, NULL);
g_object_unref(G_OBJECT(builder));
gtk_widget_show_all (win);
gtk_main();
return 0;
}
отлично! Это сработало. Я полагаю, что это было добавлено в gtk + -3, потому что с помощью gtk + -2.0 не было необходимости вызывать gtk_builder_add_callback_symbol(). – douglasjfm