gpt4 book ai didi

c - 无法在 Glade GTK+3 中连接信号和信号处理程序

转载 作者:太空狗 更新时间:2023-10-29 15:32:31 32 4
gpt4 key购买 nike

您好,我正在 Ubuntu 14.04 LTS 上使用 GTK+ 3 开发一个项目。我正在尝试使用 Glade,但是当我尝试将切换按钮的“切换”信号连接到名为 kaczka 的函数时,编译后我在我的控制台中得到了这个:(Gra_w_Statki:11072): Gtk-Warning* *: 找不到信号处理程序 'kaczka.你用 -rdynamic 编译了吗?

窗口和按钮呈现自身并正常工作,除了切换按钮不会改变任何东西。我做错了什么?

这就是我尝试连接切换按钮和功能的方式 Click!

我的链接器设置是: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_builder_connect_signals()gtk_builder_add_callback_symbol()文档。基本上你需要要么

  • 在连接信号之前对所有回调使用gtk_builder_add_callback_symbol()
  • 与 gmodule-export-2.0 链接并使用编译标志“-Wl,--export-dynamic”导出未使用的符号。

关于c - 无法在 Glade GTK+3 中连接信号和信号处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930691/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com