2017-10-21 142 views
0

J'essaye d'afficher une fenêtre avec tkinter qui a un cadre qui occupe la rangée inférieure entière.Tkinter frame pour occuper la rangée inférieure entière de la fenêtre

Voici le code comme je l'ai maintenant:

import openpyxl, PIL.Image, sys 
from tkinter import * 

class App(object): 
    def __init__(self, root): 
     self.root = root 
     w, h = root.winfo_screenwidth() * .9, root.winfo_screenheight() * .9 
     root.geometry("%dx%d+0+0" % (w, h)) 

     root.title('Squirrel Project') 
     root.wm_iconbitmap('Squirrel.ico') 

     buttonFrame = Frame(root, width = w, height = 25, padx = 15, pady = 15, bg = 'blue') 
     buttonFrame.pack(fill = X, expand = True, side = BOTTOM) 

     saveButton = Button(buttonFrame, text = 'Save', command = self.save).pack(side = LEFT) 

Avec le code ci-dessus, le cadre occupe toute la largeur de la fenêtre, mais dans la rangée du milieu. Si je supprime fill = X, expand = True de buttonFrame.pack alors le cadre occupera la rangée du bas, mais seulement une partie de celui-ci. Comment puis-je faire en sorte que le cadre occupe toute la rangée du bas?

Répondre

0

Vous avez donné l'option expand=True, qui indique au cadre de prendre de l'espace supplémentaire dans la fenêtre. Ainsi, puisque c'est la seule chose dans la fenêtre, il utilise tout l'espace dans la fenêtre.

Si vous ne souhaitez pas prendre de l'espace supplémentaire, ignorez cette option ou réglez-la sur False.