1 pièce(s) jointe(s)
Problème de Scrollbars et d'images avec Tkinter
Bonjour,
je réalise en ce moment une interface assez minimaliste en Tkinter...minimaliste, mais en essayant d'y mettre une image de fond et quelques scrollbars.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
def __init__(self):
#Import des bases#Créer la racine
self.root = tkinter.Tk()
self.root.title("[Titre]")
self.police=tkinter.font.Font(size=14, family='Impact')
self.root.configure(height=400, width=400)
self.canvas = Canvas(width=400, height=400)
self.canvas.pack()
#Image de fond
Fond=tkinter.PhotoImage(file=r"[Chemin de l'image]")
self.root.Fond=Fond
self.canvas.create_image((0,0), image=self.root.Fond, anchor='center')
#Boite d'entrée
self.numgrid=0
self.Entree = tkinter.Frame(self.canvas, relief=tkinter.GROOVE, bd=2, width=150)
self.Entree.grid(row=self.numgrid)
self.numgrid=self.numgrid+1
#Boite d'entrée pour la requête initiale
self.numgrid=self.numgrid+1
self.entreeRequete = tkinter.Text(self.Entree, relief=tkinter.GROOVE, bd=2, width=150, height=2)
self.entreeRequete.grid(row=self.numgrid)
self.numgrid=self.numgrid+1
#Boîte d'entrée pour la requête complète
self.numgrid=self.numgrid+1
self.entreeRequeteComplete = tkinter.Text(self.Entree, relief=tkinter.GROOVE, bd=2, width=150, height=10)
self.entreeRequeteComplete.grid(row=self.numgrid)
self.scrollRequeteComplete = tkinter.Scrollbar(self.Entree,bg='White', orient="vertical", command=self.entreeRequeteComplete.yview)
self.scrollRequeteComplete.grid(row=self.numgrid,column=1,sticky="NSEW")
self.scrollRequeteComplete.config(command=self.entreeRequeteComplete.yview)
self.entreeRequeteComplete.configure(yscrollcommand=self.scrollRequeteComplete.set) |
Et qu'est-ce qui ne va pas ?
- l'image ne s'affiche pas, du tout, alors qu'elle devrait recouvrir tout le fond (self.canvas);
- la scrollbar ne se place pas le long du widget Text.
Exemple :
Pièce jointe 352512
Avez-vous une idée de ce qui manque / est défaillant dans mon code ? Et oui, j'ai lu plusieurs pages sur le Net qui se rapprochaient de ce problème...
Je vous remercie d'avance.