Pourquoi le “geometry()” méthode de travail avec un retard?
Si j'exécute ce code Python:
from Tkinter import *; w = Tk(); w.geometry( "640x480" ); print( w.geometry() )
je l'aurai "1x1+0+0" en sortie. Mais si je commence interprète et d'exécuter ce que les deux
les commandes, je vais avoir complètement différent de sortie:
>>> from Tkinter import *; w = Tk(); w.geometry( "640x480" )
''
>>> w.geometry()
'640x480+101+73'
Il semble que la géométrie n'est pas appliquée immédiatement, quelque chose d'autre est nécessaire :
(. Peut-être que quelqu'un sait ce que je dois faire pour mettre à jour la géométrie
en place? J'ai besoin d'elle correctement centre/poste principal et de l'enfant de windows.
Bonne question. Je suppose il y a quelques temps de retard entre la création de la fenêtre, et la lecture de sa taille. Étrangement, si je mets une impression de "foo"; entre les 2 dernières déclarations, il fonctionne, mais si j'ai mis deux d'entre eux python semble se bloquer.
OriginalL'auteur grigoryvp | 2012-01-19
Vous devez vous connecter pour publier un commentaire.
Appel
update_idletasks()
sur une fenêtre (ou un widget) de la force de sa géométrie de mise à jour.Voici un petit extrait de texte à partir de la Tkinter référence:
OriginalL'auteur D K
Cette opération terminée, mais donne la mauvaise réponse:
Cela semble se bloquer:
Seulement une interruption de clavier semble me sortir.
Bien sûr, cela ne semble pas fonctionner correctement:
Bon point. Je voulais simplement dire qu'travail dans le sens qu'il ne se termine.
OriginalL'auteur jgritty