IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Python

FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 14 juin 2021 

 
OuvrirSommaireGUITkinter / Tix / PmwTkinterWidget

w.focus_set() donne le focus au widget w

Mis à jour le 8 juin 2005  par Guigui_

Le module tkFont fournit une classe Font qui permet de définir les caractéristiques des fontes de n'importe quel widget avec les attributs suivants:

attributs de la classe Font
  • family: 'courier', 'arial', ...
  • size: integer
  • slant: NORMAL ou ITALIC
  • weight: NORMAL ou BOLD
  • underline: True ou False
  • overstrike: True ou False

La fonction font.config(**font_option) permet de configurer la fonte, les différents attributs étant optionnels.

 
Sélectionnez
import tkFont
fonte = tkFont.Font(root)
fonte.config(size=18, family='courier', slant=tkFont.ITALIC, weight=tkFont.BOLD, underline=True, overstrike=True)
label.config(font = fonte)
Créé le 23 août 2005  par Guigui_

La classe Tkinter PhotoImage reconnaît les images GIF et PPM. Le fait qu'elle soit utilisée comme option de configuration image d'un widget ne suffit pas à maintenir une instance PhotoImage en vie. Il faut donc s'assurer de conserver ces instances dans un objet conteneur de Python;

 
Sélectionnez
# -*- coding: cp1252 -*-
import Tkinter as Tk
 
def imgaffiche():
    img = Tk.PhotoImage(file = imgfile)  ## Création d'un objet PhotoImage qui reconnait les extensions .gif et .ppm    
    gifsdict[imgfile] = img              ## si on commente cette ligne, l'image ne s'affichera pas
    button.configure(image=img)          ## Ajout de l'image sur le bouton
    ## On pourrait aussi directement faire
    ## gifsdict[imgfile] = Tk.PhotoImage(file = imgfile)              
    ## button.configure(image = gifsdict[imgfile])
    
root = Tk.Tk()
button = Tk.Button(text = "affiche image", command = imgaffiche)
 
imgfile = strchemin ## strchemin:str, chemin d'accès à l'image
 
gifsdict={}  ## Utilisation d'un dictionnaire pour conserver une référence sur la PhotoImage créée
 
button.pack()
root.mainloop()

Si vous voulez afficher une image autre que GIF ou PPM, il vous faudra passer par la bibliothèque PIL qui est capable de lire tout type d'images. Il faudra également conserver l'image dans un objet conteneur Python pour les mêmes raisons que précedemment.

 
Sélectionnez
from PIL import Image, ImageTk ## Importation des modules utiles dans PIL
import  Tkinter as Tk
root = Tk.Tk() 

monimage = Image.open("lena.jpg")    ## Chargement d'une image à partir de PIL
photo = ImageTk.PhotoImage(monimage)   ## Création d'une image compatible Tkinter

label = Tk.Label(image=photo)    ## Insertion de l'image de l
label.image = photo 			## Maintient en vie de photo dans un objet non détruit par le garbage
								## pour pas que l'image disparaisse du label
label.pack()

root.mainloop()
Mis à jour le 12 janvier 2009  par Guigui_

Pour modifier la couleur de fond d'un widget, il suffit d'appliquer la méthode w.config(bg = NewColor) ou w.config(background = NewColor)NewColor est une chaîne représentant soit un nom de couleur (par exemple "red", "green", ...) soit directement une couleur avec ses composantes RVB en ayant la forme "#RRVVBB"RR, VV, BB sont des valeur hexadécimales comprises entre 00 et FF

 
Sélectionnez
import Tkinter as Tk
 
root = Tk.Tk()
root.config (bg = "red")
label = Tk.Label(root, text = "test")
label.configure(background = "#50A42D")
label.pack()

root.mainloop()
Créé le 22 novembre 2006  par Guigui_

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005-2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.