2016-11-23 16 views
0

これはスタックオーバーフローに関する私の最初の質問です。だから私はいくつかの間違いをするとあなたが親切になることを願っています。Gtk + 2.0、添付されたウィジェットをGtkTableに削除するにはどうしたらいいですか?

私は少しのGtk2.0メカニズムを学ぼうとしています。私はこのライブラリの初心者ですので、基本的なGUIを構築しようとしています。

私は230x150のウィンドウを作成し、GdkPixbufアイコンを付けて、信号をトリガーする方法を学びました。特に、矢印キーを押したときにアイコンを表示/非表示することに興味がありました。

私はアイコンを表示する目的を達成しましたが、私はこのアイコンを隠す方法を見つけていません。私はドキュメンテーションを見ましたが、何かが動作しているようです。

私は以下のコードを添付して、私の改善に役立てることができます。ヒントのために事前に感謝します。

http://pastebin.com/iUJRc6hw

+0

ちょうどGTKを学んでいるのであれば、GTK 3から始めましょう! GTK 2は現在ではかなり廃止されており、GTK 3はまもなくGTK 4に変わります... – ptomato

答えて

0

あなたはgtk_widget_hide(app->icon)でアイコンを非表示することができるはずです。

+0

まずはお返事いただきありがとうございますが、まだ動作しません。あなたが提案した関数を使用しましたが、関数にはパラメータとしてGtkWidgetがあり、app-> iconはgtk_widget_hide(gtk_image_new_from_pixbuf(app-> icon))を使用したのでGtkPixBufです。 gtk_widget_hideがトリガーされても何も起こりません。 – vnzstc

+0

まあ、 'gtk_image_new_from_pixbuf()'で新しいウィジェットを作成し、_that_を隠すと、既存のイメージを隠すことはありません。あなたの 'app'構造体にあなたの既存の' GtkImage'へのポインタを保存し、それを隠す必要があります。 – ptomato

+0

これは動作します、ありがとう! – vnzstc

関連する問題