これがバグなのか、非常に迷惑な機能なのかはわかりませんが、Glade Designerのボタンに画像を表示することはできません。
画像を強制的に表示するために変更する必要があるプロパティはありますか?
これはデフォルトでは(GNOME全体かGTK設定かは不明)、ボタンに画像が表示されないためだと思います。
このStackoverflowの質問 そのためボタンに表示されていないストック画像のヒント。カスタム画像にも適用されると思います。
その質問で言及されている回避策を試して、それがあなたのために機能するかどうかを確認することができます:
from gi.repository import Gtk
settings = Gtk.Settings.get_default()
settings.props.gtk_button_images = True
また、ツールバーボタンの画像はこの設定の影響を受けず、常にalways表示されることに気付きました。 Garry Cairnsが答えで言及しているように、Gladeのイメージパスの前に必ず../media
を追加してください。
以下の手順が機能するはずです(質問の外観からは、手順5から開始できますが、将来のユーザーのためにすべてを含めました)。
your_app/data/media
にあることを確認してくださいicon widget
のedit image
を選択して、ボタンに画像ウィジェットを追加しますfile name
でedit image
を選択し、画像を参照しますfile name
に表示されるファイル名の先頭に../media/
を付けると、空き地が見えるようになります。最初のアプリビデオを作成する Jono Baconのリリースで、このプロセスのスクリーンキャストを約33分前から見ることができます。
あなたが実際に行ったことはすべて正しいです...ファイル名「fb.ico」が問題です!画像の完全なリンクを提供してください。コードを実行すると、グレードウィンドウに画像が表示されます。あなたはそれを知っています:-)
空き地が機能しない場合は、Pythonを使用してそれを実行することもできます。
image = Gtk.Image()
image.set_from_file("data/media/settings.png")
image.show()
button = self.builder.get_object("yourButton")
button.add(image)