GTK+プログラミング (983レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
672(2): login:Penguin [] 2011/08/24(水) 18:38:06.52 ID:CLJ7sudj(1/3) AAS
g_signal_connectでコールバック関数に渡せるデータって一つしかないですよね
でもどうしても複数のデータを渡したい時ってどうするんですか?
例えば,main関数内でエントリーが3つとボタンがあって,
ボタンを押したら3つのエントリーに入力されている文字列をg_printで出力する場合とか
初歩的な質問かもしれないけど,お願いします
673(1): login:Penguin [sage] 2011/08/24(水) 18:57:38.20 ID:tAkTiKbP(1/2) AAS
>>672
構造体とか使って渡したいデータを1変数にまとめて、
コールバック関数にはその構造体のポインタ渡すのはどうかな
http://pastebin.com/UXyRbuJf
677(1): login:Penguin [] 2011/08/24(水) 19:40:28.68 ID:fAbet21j(1) AAS
>>672
・そのEntry3つをGHashTable につっこんどいて それをコールバックの引数にする
・そもそもGtkBuilderオブジェクトでつくったUIなら それをcbの引数にする
GTK_ENTRY (gtk_builder_get_object (builder, "ボタンの変数名")) で取れる
・前もってそれぞれのEntryにgtk_widget_set_name(entry,"しきべつめい")しといて
gtk_container_get_children (GTK_CONTAINER (window)) で取れる GList をcbの引数にする
cb関数側でg_list_nth_data つかって先頭からアクセス、gtk_widget_get_name(entry)でとれる名前を確認しながら扱う
三通り思いつきました、どうでしょうか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s