我试图在inst之后在GtkWidget(GooCanvas)上注册一个新信号。 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'
我不确定我做错了什么?我试过传递一些其他类型,但仍然没有结果?有人知道这里有什么问题吗?
感谢。
答案 0 :(得分:3)
你试过这个吗?
g_signal_emit_by_name(canvas, "canvas_changed");