(TKinter) Ouvrir la fenêtre à un endroit précis de l'écran...
5 réponses
Yann.K
Bonjour à tous.
Nouveau sur cette liste (et avec python) j'essaye de me débattre avec mes
problémes à dix sous...
Je bosse avec de la doc télechargée sur le net, et j'essaye actuellement
d'interfacer une appli écrite en shell (je vais la réecrire en python dès
que possible, je suis juste en train de prendre en main l'interfaçage
graphique python/Tkinter).
Je rencontre actuellement le problèmes suivant: les fenêtres se positionnent
de façon aléatoire à l'ouverture.
Est-il possible de positionner avec précisision la fenêtre par rapport à
l'écran?
Cela est valable pour la fenêtre principale (celle instanciée par Tk()),
mais également par ses "enfants".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Brunel
Yann.K wrote:
Bonjour à tous.
Nouveau sur cette liste (et avec python) j'essaye de me débattre avec mes problémes à dix sous...
Je bosse avec de la doc télechargée sur le net, et j'essaye actuellement d'interfacer une appli écrite en shell (je vais la réecrire en python dès que possible, je suis juste en train de prendre en main l'interfaçage graphique python/Tkinter).
Je rencontre actuellement le problèmes suivant: les fenêtres se positionnent de façon aléatoire à l'ouverture. Est-il possible de positionner avec précisision la fenêtre par rapport à l'écran? Cela est valable pour la fenêtre principale (celle instanciée par Tk()), mais également par ses "enfants".
Merci de votre aide.
Utilise la méthode geometry sur l'instance de Tk ou les instances de Toplevel:
from Tkinter import * root = Tk() root.geometry('500x300+50+10') root.mainloop()
=> la fenetre fera 500 points de large par 300 de haut et sera positionnée à la coordonnée (50, 10) sur l'écran.
HTH -- - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> - PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
Yann.K wrote:
Bonjour à tous.
Nouveau sur cette liste (et avec python) j'essaye de me débattre avec mes
problémes à dix sous...
Je bosse avec de la doc télechargée sur le net, et j'essaye actuellement
d'interfacer une appli écrite en shell (je vais la réecrire en python dès
que possible, je suis juste en train de prendre en main l'interfaçage
graphique python/Tkinter).
Je rencontre actuellement le problèmes suivant: les fenêtres se positionnent
de façon aléatoire à l'ouverture.
Est-il possible de positionner avec précisision la fenêtre par rapport à
l'écran?
Cela est valable pour la fenêtre principale (celle instanciée par Tk()),
mais également par ses "enfants".
Merci de votre aide.
Utilise la méthode geometry sur l'instance de Tk ou les instances de Toplevel:
from Tkinter import *
root = Tk()
root.geometry('500x300+50+10')
root.mainloop()
=> la fenetre fera 500 points de large par 300 de haut et sera positionnée à la
coordonnée (50, 10) sur l'écran.
HTH
--
- Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
Nouveau sur cette liste (et avec python) j'essaye de me débattre avec mes problémes à dix sous...
Je bosse avec de la doc télechargée sur le net, et j'essaye actuellement d'interfacer une appli écrite en shell (je vais la réecrire en python dès que possible, je suis juste en train de prendre en main l'interfaçage graphique python/Tkinter).
Je rencontre actuellement le problèmes suivant: les fenêtres se positionnent de façon aléatoire à l'ouverture. Est-il possible de positionner avec précisision la fenêtre par rapport à l'écran? Cela est valable pour la fenêtre principale (celle instanciée par Tk()), mais également par ses "enfants".
Merci de votre aide.
Utilise la méthode geometry sur l'instance de Tk ou les instances de Toplevel:
from Tkinter import * root = Tk() root.geometry('500x300+50+10') root.mainloop()
=> la fenetre fera 500 points de large par 300 de haut et sera positionnée à la coordonnée (50, 10) sur l'écran.
HTH -- - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> - PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
Yann.K
Eric Brunel wrote:
Yann.K wrote: root.geometry('500x300+50+10') => la fenetre fera 500 points de large par 300 de haut et sera positionnée à la coordonnée (50, 10) sur l'écran. Merci, c'est exactement ce que je cherchais, à un détail prét, comment
récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en relatif (par exemple exactement au centre de l'écran et ce , quelle que soit la taille de l'écran sur lequel tournera l'appli).
Question subsidiaire; pour éxecuter directement des commandes systéme, il faut bien utiliser la commande os.popen()?
HTH yes!
-- Yann.K
Eric Brunel wrote:
Yann.K wrote:
root.geometry('500x300+50+10')
=> la fenetre fera 500 points de large par 300 de haut et sera positionnée
à la coordonnée (50, 10) sur l'écran.
Merci, c'est exactement ce que je cherchais, à un détail prét, comment
récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en
relatif (par exemple exactement au centre de l'écran et ce , quelle que
soit la taille de l'écran sur lequel tournera l'appli).
Question subsidiaire; pour éxecuter directement des commandes systéme, il
faut bien utiliser la commande os.popen()?
Yann.K wrote: root.geometry('500x300+50+10') => la fenetre fera 500 points de large par 300 de haut et sera positionnée à la coordonnée (50, 10) sur l'écran. Merci, c'est exactement ce que je cherchais, à un détail prét, comment
récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en relatif (par exemple exactement au centre de l'écran et ce , quelle que soit la taille de l'écran sur lequel tournera l'appli).
Question subsidiaire; pour éxecuter directement des commandes systéme, il faut bien utiliser la commande os.popen()?
HTH yes!
-- Yann.K
Eric Brunel
Yann.K wrote:
Eric Brunel wrote:
Yann.K wrote: root.geometry('500x300+50+10') => la fenetre fera 500 points de large par 300 de haut et sera positionnée à la coordonnée (50, 10) sur l'écran.
Merci, c'est exactement ce que je cherchais, à un détail prét, comment récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en relatif (par exemple exactement au centre de l'écran et ce , quelle que soit la taille de l'écran sur lequel tournera l'appli).
Les méthodes winfo_screenwidth() et winfo_screenheight() sont ce que tu cherches. Et si tu n'as pas encore l'adresse, voilà où tu pourras trouver plein de choses interessantes: http://www.pythonware.com/library/tkinter/introduction/index.htm (pour les non-anglophobes)
Question subsidiaire; pour éxecuter directement des commandes systéme, il faut bien utiliser la commande os.popen()?
"Il faut", non; "on peut", oui: pour simplement exécuter une commande système, c'est plutot os.system qu'il te faut. Utilise os.popen pour exécuter la commande *et* récupérer sa sortie ou lui envoyer quelque-chose. Mais sans savoir exactement ce que tu veux faire, c'est un peu difficile de t'orienter plus précisément. -- - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> - PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
Yann.K wrote:
Eric Brunel wrote:
Yann.K wrote:
root.geometry('500x300+50+10')
=> la fenetre fera 500 points de large par 300 de haut et sera positionnée
à la coordonnée (50, 10) sur l'écran.
Merci, c'est exactement ce que je cherchais, à un détail prét, comment
récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en
relatif (par exemple exactement au centre de l'écran et ce , quelle que
soit la taille de l'écran sur lequel tournera l'appli).
Les méthodes winfo_screenwidth() et winfo_screenheight() sont ce que tu
cherches. Et si tu n'as pas encore l'adresse, voilà où tu pourras trouver plein
de choses interessantes:
http://www.pythonware.com/library/tkinter/introduction/index.htm
(pour les non-anglophobes)
Question subsidiaire; pour éxecuter directement des commandes systéme, il
faut bien utiliser la commande os.popen()?
"Il faut", non; "on peut", oui: pour simplement exécuter une commande système,
c'est plutot os.system qu'il te faut. Utilise os.popen pour exécuter la commande
*et* récupérer sa sortie ou lui envoyer quelque-chose. Mais sans savoir
exactement ce que tu veux faire, c'est un peu difficile de t'orienter plus
précisément.
--
- Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
Yann.K wrote: root.geometry('500x300+50+10') => la fenetre fera 500 points de large par 300 de haut et sera positionnée à la coordonnée (50, 10) sur l'écran.
Merci, c'est exactement ce que je cherchais, à un détail prét, comment récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en relatif (par exemple exactement au centre de l'écran et ce , quelle que soit la taille de l'écran sur lequel tournera l'appli).
Les méthodes winfo_screenwidth() et winfo_screenheight() sont ce que tu cherches. Et si tu n'as pas encore l'adresse, voilà où tu pourras trouver plein de choses interessantes: http://www.pythonware.com/library/tkinter/introduction/index.htm (pour les non-anglophobes)
Question subsidiaire; pour éxecuter directement des commandes systéme, il faut bien utiliser la commande os.popen()?
"Il faut", non; "on peut", oui: pour simplement exécuter une commande système, c'est plutot os.system qu'il te faut. Utilise os.popen pour exécuter la commande *et* récupérer sa sortie ou lui envoyer quelque-chose. Mais sans savoir exactement ce que tu veux faire, c'est un peu difficile de t'orienter plus précisément. -- - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> - PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
Yann.K
Eric Brunel wrote:
Yann.K wrote: Les méthodes winfo_screenwidth() et winfo_screenheight() sont ce que tu cherches. Parfait!
Une petite méthode plus loin, mes fenêtres s'ouvrent en plein milieu de l'écran!
"Il faut", non; "on peut", oui: pour simplement exécuter une commande système, c'est plutot os.system qu'il te faut. Utilise os.popen pour exécuter la commande *et* récupérer sa sortie ou lui envoyer quelque-chose. Mais sans savoir exactement ce que tu veux faire, c'est un peu difficile de t'orienter plus précisément. Bon, y-a encore du boulot!
J'ai commencé hier a éplucher en long, en large et en travers la doc officielle de python. Donc,... je continue!
Merci encore pour ton aide.
-- Yann.K
Eric Brunel wrote:
Yann.K wrote:
Les méthodes winfo_screenwidth() et winfo_screenheight() sont ce que tu
cherches.
Parfait!
Une petite méthode plus loin, mes fenêtres s'ouvrent en plein milieu de
l'écran!
Et si tu n'as pas encore l'adresse, voilà où tu pourras trouver
plein de choses interessantes:
http://www.pythonware.com/library/tkinter/introduction/index.htm
(pour les non-anglophobes)
Une doc parmis tant d'autres qui dorment sur ma table de chevet ;-)
"Il faut", non; "on peut", oui: pour simplement exécuter une commande
système, c'est plutot os.system qu'il te faut. Utilise os.popen pour
exécuter la commande *et* récupérer sa sortie ou lui envoyer
quelque-chose. Mais sans savoir exactement ce que tu veux faire, c'est un
peu difficile de t'orienter plus précisément.
Bon, y-a encore du boulot!
J'ai commencé hier a éplucher en long, en large et en travers la doc
officielle de python.
Donc,... je continue!
"Il faut", non; "on peut", oui: pour simplement exécuter une commande système, c'est plutot os.system qu'il te faut. Utilise os.popen pour exécuter la commande *et* récupérer sa sortie ou lui envoyer quelque-chose. Mais sans savoir exactement ce que tu veux faire, c'est un peu difficile de t'orienter plus précisément. Bon, y-a encore du boulot!
J'ai commencé hier a éplucher en long, en large et en travers la doc officielle de python. Donc,... je continue!
Merci encore pour ton aide.
-- Yann.K
Alexandre Fayolle
Salut,
Le 23-08-2004, Yann.K a écrit :
Merci, c'est exactement ce que je cherchais, à un détail prét, comment récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en relatif (par exemple exactement au centre de l'écran et ce , quelle que soit la taille de l'écran sur lequel tournera l'appli).
Fais attention à un petit détail quand même. Le jour où quelqu'un va essayer de faire tourner ton programme sur une machine avec 2 écrans, ça risque de pas être joli, voire pénible. Il vaut probablement mieux configurer ton gestionnaire de fenêtre pour adapter le placement de la fenêtre principale de ton application.
Le 23-08-2004, Yann.K <yk.suse@bullier.org> a écrit :
Merci, c'est exactement ce que je cherchais, à un détail prét, comment
récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en
relatif (par exemple exactement au centre de l'écran et ce , quelle que
soit la taille de l'écran sur lequel tournera l'appli).
Fais attention à un petit détail quand même. Le jour où quelqu'un va essayer
de faire tourner ton programme sur une machine avec 2 écrans, ça risque
de pas être joli, voire pénible. Il vaut probablement mieux configurer
ton gestionnaire de fenêtre pour adapter le placement de la fenêtre
principale de ton application.
--
Alexandre Fayolle LOGILAB, Paris (France).
http://www.logilab.com http://www.logilab.fr http://www.logilab.org
Merci, c'est exactement ce que je cherchais, à un détail prét, comment récupérer la taille de l'écran (H+L) pour pouvoir placer cette fenêtre en relatif (par exemple exactement au centre de l'écran et ce , quelle que soit la taille de l'écran sur lequel tournera l'appli).
Fais attention à un petit détail quand même. Le jour où quelqu'un va essayer de faire tourner ton programme sur une machine avec 2 écrans, ça risque de pas être joli, voire pénible. Il vaut probablement mieux configurer ton gestionnaire de fenêtre pour adapter le placement de la fenêtre principale de ton application.