我正在尝试在GtkWidget(GooCanvas)上注册一个新的信号,这是在inst.here之后我做的:

g_signal_new                         ("canvas_changed",
                                     G_TYPE_FROM_INSTANCE(canvas),
                                     G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
                                     0,
                                     NULL, NULL,
                                     g_cclosure_marshal_VOID__POINTER,
                                     G_TYPE_NONE,
                                     1,
                                     G_TYPE_POINTER);

但当我试图在画布上发出信号时:
g_signal_emit_by_name(canvas, "changed2");

我知道错误:
signal name `changed2' is invalid for instance `0x80c00b0'

我不知道我做错了什么?我试过传递其他类型,但仍然没有结果?有人知道这里出了什么事吗?
谢谢。

最佳答案

你试过这个了吗?

g_signal_emit_by_name(canvas, "canvas_changed");

关于c - 信号名称“somename”对于实例“0x80c00b0”无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12451297/

10-11 23:08
查看更多