FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 23 mai 2009  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireGUITkinter / Tix / PmwTkinterWidget (4)
précédent sommaire suivant
 

w.focus_set() donne le focus au widget w

Mis à jour le 25 mai 2005 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.

Code python :
1
2
3
4
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)

Mis à jour le 23 août 2005 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;

Code python :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- 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.

Code python :
1
2
3
4
5
6
7
8
9
10
11
12
13
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 28 avril 2006 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

Code python :
1
2
3
4
5
6
7
8
9
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()

Mis à jour le 22 novembre 2006 Guigui_

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

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 © 2014 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.

 
 
 
 
Partenaires

PlanetHoster
Ikoula