我正在尝试在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/