Hi i'm working on a project in GTK+ 3 on Ubuntu 14.04 LTS. I'm trying to use Glade,but when i tried to connect a "toggled" signal of toggle button to a function called kaczka ,after compiling i got this in my console: (Gra_w_Statki:11072): Gtk-Warning**:Could not find signal handler 'kaczka. Did you compile with -rdynamic?
The window and the button render itself and work normally except of that toggling button doesn't change anything. What am i doing wrong ?
This is how i tried to connect toggle button and function Click!
My Linker Settings are : pkg-config --libs gtk+-3.0
And my compiler settings are: pkg-config --cflags gtk+-3.0
I'm using Code ::Blocks 13.12 with GCC compiler.
And this is my code:
#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;
}
Take a look at the gtk_builder_connect_signals() and gtk_builder_add_callback_symbol() documentation. Basically you need to either
gtk_builder_add_callback_symbol()
on all callbacks before connecting the signals orYou can add more compiler settings with,
pkg-config --libs --cflags gmodule-2.0
.
If anyone is building the program with meson, just add
gmoddep = dependency('gmodule-2.0')
to list of dependencies.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With