/ / Python / Tkinter: Étirer une image horizontalement? - python, image, interface utilisateur, tkinter

Python / Tkinter: étire une image horizontalement? - python, image, interface utilisateur, tkinter

Est-il possible d'étirer une image horizontalement?

Cas d'utilisation: J'ai une image d'un pixel de large (60 pixels de haut) que je voudrais étirer horizontalement pour remplir le conteneur parent. L'étirement de cette image a pour but de donner au conteneur en question l'apparence d'un fond dégradé.

Voici ce que j’ai essayé sans succès (l’image en dégradé apparaît, mais se centre uniquement par rapport à l’étirement):

import Tkinter as tkinter
root = tkinter.Tk()

image = tkinter.PhotoImage( file="gradient1.gif" )
imgBackground = tkinter.Label( image=image )
imgBackground.pack( side="top", fill="x", expand=True )

root.mainloop()

Réponses:

1 pour la réponse № 1

Non, il n'y a aucun moyen d'étirer une image pour remplir le conteneur. Cependant, vous pouvez détecter le moment où un widget change de taille et vous pouvez "repeindre" le dégradé. Utilisez un canevas et créez une liaison à <Configure> qui dessine le dégradé. Cela semble lent, mais c’est assez rapide, à supposer que vous n’en ayez pas des centaines.