1

instに続いて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 に答える