1

我正在尝试在安装后的 GtkWidget ( GooCanvas )上注册一个新信号。 我在这里做了:

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'

我不确定我做错了什么?我尝试传递一些其他类型但仍然没有结果?有谁知道这里有什么问题?

谢谢。

4

1 回答 1

3

你试过这个吗?

g_signal_emit_by_name(canvas, "canvas_changed");
于 2012-09-16T22:39:08.780 回答