Je veux initialiser une fenêtre comme maximisée, mais je ne peux pas savoir comment le faire. J'utilise python 3.3 et Tkinter 8.6 sur Windows 7. Je suppose que la réponse est juste ici: http://www.tcl.tk/man/tcl/TkCmd/wm.htm#m8 Mais. Je ne sais pas comment le saisir dans mon script python
De plus, je dois obtenir la largeur et la hauteur de la fenêtre (aussi bien maximisée que si l’utilisateur redimensionne ensuite), mais je suppose que je peux le trouver moi-même.
Si vous souhaitez définir l'attribut fullscreen sur True, il suffit de:
root = Tk()
root.attributes('-fullscreen', True)
Cependant, il ne montre pas la barre de titre. Si vous voulez le garder visible, vous pouvez redimensionner l'élément Tk avec la méthode geometry()
:
root = Tk()
w, h = root.winfo_screenwidth(), root.winfo_screenheight()
root.geometry("%dx%d+0+0" % (w, h))
Avec winfo_width()
et winfo_height()
, vous pouvez obtenir la largeur et la hauteur ou la fenêtre, et vous pouvez également lier un gestionnaire d'événements à l'événement <Configure>
:
def resize(event):
print("New size is: {}x{}".format(event.width, event.height))
root.bind("<Configure>", resize)
Vous pouvez le faire en appelant
root.state('zoomed')
Pour afficher la fenêtre agrandie avec la barre de titre, utilisez l'attribut 'zoomé'
root = Tk()
root.attributes('-zoomed', True)
J'ai trouvé ceci sur un autre site:
import Tkinter
MyRoot = Tkinter.Tk()
MyRoot.state("zoomed")
MyRoot.mainloop()
Cela a résolu mon problème.
Le plus pythonique est "root.wm_state('zoomed')
", comme mentionné par @ J.F.Sebastian