GtkFr - Cours Gtk+-2

PyLesImages

PageAccueil :: LesNews :: Telechargement :: Liens :: Forum :: LeChat :: Contact
DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes 38.107.191.91
<< Les décorations PyGtk Les boîtes de dialogue >>


Les images

1. Présentation

Nous allons cette fois, essayer de rendre nos fenêtres un peu moins austères. Pour cela, nous allons utiliser des images grâce au widget GtkImage.

1.1 Hiérarchie

GObject -> GtkObject -> GtkWidget -> GtkMisc? -> GtkImage

2. Utilisation de base

2.1 Création

Pour ce widget, il y a toute une panoplie de fonction de création. Nous n'allons en étudier que quelques-unes, car certaines font appel à des notions plus complexes. Voici donc les fonctions étudiées :
image = gtk.Image()
image = gtk.image_new_from_file(filename)
image = gtk.image_new_from_stock(stock_id, size)
La première crée une image mais complètement vide.
La deuxième crée l'image à partir du fichier filename. Gtk+ est capable d'utiliser les images qui sont au format PNG, JPEG, TIFF. Le chemin du fichier filename peut être relatif ou absolu. Si le chemin spécifié est incorrect ou que le format de l'image est invalide, l'image de retour sera celle-ci présentera une croix rouge sur fond blanc.
La troisième fonction, récupère l'image qui est associée à un objet GtkStockItem? afin de l'afficher. Le paramètre size peut prendre sept valeurs différentes pour définir la taille de l'image à afficher :


2.2 Modification de l'image.

Cette étape intervient lorsque vous avez créé une image vide ou lorsque vous voulez changer d'image. Les deux méthodes étudiées ici sont :
image.set_from_file(filename)
image.set_from_stock(stock_id, size)
Les paramètres sont les même que lors de la création d'un widget GtkImage.

2.3 Programme exemple

# -*- Encoding: Latin-1 -*-
import gtk

def main():
    window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    window.set_default_size(320, 200)
    window.set_title("GtkImage")
    window.connect("destroy", gtk.main_quit, None)

    vbox = gtk.VBox(False, 0)
    window.add(vbox)

    # Chargement d'une image a partir d'un fichier
    image = gtk.image_new_from_file("./gtk.png")
    vbox.pack_start(image, False, False, 5)

    quit_btn = gtk.Button()
    vbox.pack_start(quit_btn, True, False, 5)
    quit_btn.connect("clicked", gtk.main_quit, None)

    # Chargement d'une image a partir d'un GtkStockItem
    quit_image = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_LARGE_TOOLBAR)
    quit_btn.add(quit_image)

    window.show_all()

    gtk.main()

if __name__ == '__main__':
    main()
Résultat :


<< Les décorations PyGtk Les boîtes de dialogue >>

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]
Apinc