web-dev-qa-db-fra.com

Comment faire en sorte que les images apparaissent sur les boutons de Glade Designer?

Je ne sais pas s'il s'agit d'un bogue ou simplement d'une fonctionnalité très gênante, mais je ne parviens pas à faire apparaître une image sur l'un de mes boutons dans Glade Designer.

enter image description hereenter image description here

Dois-je modifier certaines propriétés pour l'obliger à afficher l'image?

6
RobinJ

Je pense que c’est parce que par défaut (ne sachant pas s’il s’agit d’un paramètre GNOME ou GTK), aucune image n’est affichée dans les boutons; je ne suis donc pas sûr qu’il existe un moyen de le contourner.

Cette question Stackoverflow suggère des images de stock non affichées dans les boutons à cause de cela, ce qui, je suppose, s'applique également aux images personnalisées.

Vous pouvez essayer la solution de contournement mentionnée dans cette question pour voir si cela fonctionne pour vous:

from gi.repository import Gtk

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

Ce que j’ai aussi remarqué, c’est que les images de boutons de barre d’outils ne sont pas affectées par ce paramètre et sont toujours affichées. Veillez simplement à ajouter ../media au chemin de l'image dans Glade, comme le mentionne Garry Cairns dans sa réponse.

3
David Planella

Les étapes ci-dessous devraient fonctionner (à partir de l'aspect de votre question, vous pouvez commencer à l'étape 5 mais je les ai toutes incluses pour les futurs utilisateurs).

  1. Assurez-vous que l’icône que vous souhaitez utiliser se trouve bien dans your_app/data/media
  2. sélectionnez le widget auquel vous souhaitez appliquer l'image dans Glade
  3. choisissez icon widget dans edit image dans le panneau de propriétés du bouton de droite pour ajouter un widget d'image à votre bouton.
  4. modifiez le widget d'image que vous venez de créer pour ajouter une image à l'aide du panneau de droite (sélectionnez file name dans edit image et accédez à votre image.
  5. préfixez le nom de fichier qui apparaît dans file name avec ../media/ afin que Glade puisse le voir.

Vous pouvez voir un aperçu de ce processus à partir d'environ 33 minutes dans le créer votre première vidéo d'application Jono Bacon est sorti.

4
Garry Cairns

Tout est correct ce que vous avez réellement fait ... le nom de fichier "fb.ico" est le problème! donnez le lien complet ici pour votre image. Il montrera votre image dans votre fenêtre Glade lorsque vous exécutez un code. Tu le sais :-)

0
djgharphalia07

Vous pouvez également essayer de le faire en utilisant Python si Glade ne fonctionne pas pour vous:

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

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