web-dev-qa-db-ja.com

Glade Designerのボタンに画像を表示するにはどうすればよいですか?

これがバグなのか、非常に迷惑な機能なのかはわかりませんが、Glade Designerのボタンに画像を表示することはできません。

enter image description hereenter image description here

画像を強制的に表示するために変更する必要があるプロパティはありますか?

6
RobinJ

これはデフォルトでは(GNOME全体かGTK設定かは不明)、ボタンに画像が表示されないためだと思います。

このStackoverflowの質問 そのためボタンに表示されていないストック画像のヒント。カスタム画像にも適用されると思います。

その質問で言及されている回避策を試して、それがあなたのために機能するかどうかを確認することができます:

from gi.repository import Gtk

settings = Gtk.Settings.get_default()
settings.props.gtk_button_images = True

また、ツールバーボタンの画像はこの設定の影響を受けず、常にalways表示されることに気付きました。 Garry Cairnsが答えで言及しているように、Gladeのイメージパスの前に必ず../mediaを追加してください。

3
David Planella

以下の手順が機能するはずです(質問の外観からは、手順5から開始できますが、将来のユーザーのためにすべてを含めました)。

  1. 使用するアイコン画像がyour_app/data/mediaにあることを確認してください
  2. 空き地で画像を適用するウィジェットを選択します
  3. 右側のツールボタンのプロパティパネルでicon widgetedit imageを選択して、ボタンに画像ウィジェットを追加します
  4. 作成した画像ウィジェットを編集して、右パネルを使用して画像を追加します(file nameedit imageを選択し、画像を参照します
  5. file nameに表示されるファイル名の先頭に../media/を付けると、空き地が見えるようになります。

最初のアプリビデオを作成する Jono Baconのリリースで、このプロセスのスクリーンキャストを約33分前から見ることができます。

4
Garry Cairns

あなたが実際に行ったことはすべて正しいです...ファイル名「fb.ico」が問題です!画像の完全なリンクを提供してください。コードを実行すると、グレードウィンドウに画像が表示されます。あなたはそれを知っています:-)

0
djgharphalia07

空き地が機能しない場合は、Pythonを使用してそれを実行することもできます。

 image = Gtk.Image()
 image.set_from_file("data/media/settings.png")
 image.show()

 button = self.builder.get_object("yourButton")
 button.add(image)
0
unknownone