如何解决GTK应用运行时GtkButton信号无效的GLib-GObject-WARNING警告
问题原因
你收到该警告的核心问题是:GtkButton 原生不存在名为add_numbers的信号,你将自定义的回调函数名错当成了信号名传入了g_signal_connect函数。
GTK 中按钮被点击时触发的标准信号是clicked,错误出现在这行代码:
g_signal_connect(Add, "add_numbers", G_CALLBACK(add_numbers), NULL);
修复方案
将上述代码中的信号名替换为clicked即可:
g_signal_connect(Add, "clicked", G_CALLBACK(add_numbers), NULL);
补充说明
g_signal_connect的第二个参数是要监听的组件自带的预定义信号名称,第四个参数才是信号触发后要执行的自定义回调函数名,二者不要混淆。
修改后重新编译运行,警告会消失,点击Add按钮即可正常执行两数相加逻辑。
内容的提问来源于stack exchange,提问作者user17354097
相关产品推荐
相关产品推荐

