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.
Dois-je modifier certaines propriétés pour l'obliger à afficher l'image?
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.
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).
your_app/data/media
icon widget
dans edit image
dans le panneau de propriétés du bouton de droite pour ajouter un widget d'image à votre bouton.file name
dans edit image
et accédez à votre image.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.
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 :-)
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)