【发布时间】:2015-03-11 21:55:32
【问题描述】:
您好,我正在 Ubuntu 14.04 LTS 上使用 GTK+ 3 开发一个项目。我正在尝试使用 Glade,但是当我尝试将切换按钮的“切换”信号连接到一个名为 kaczka 的函数时,编译后我在控制台中得到了这个:(Gra_w_Statki:11072): Gtk-Warning**:Could not find signal handler 'kaczka. Did you compile with -rdynamic?
窗口和按钮会自行呈现并正常工作,但切换按钮不会改变任何内容。我做错了什么?
这就是我尝试连接切换按钮和功能Click!的方式@
我的链接器设置是:pkg-config --libs gtk+-3.0
而我的编译器设置是:pkg-config --cflags gtk+-3.0
我正在使用带有 GCC 编译器的 Code ::Blocks 13.12。
这是我的代码:
#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;
}
【问题讨论】: