Rechercher : dans
Par :

[Python] [Tkinter] Fenêtre root + Toplevel

Dernière réponse le 17 aoû 2009 à 12:12:09 frites.saucisse, le 7 sep 2007 à 10:25:35 
 Signaler ce message aux modérateurs

Bonjour,
Imaginons une fenêtre root avec un bouton. Le bouton déclenche l'ouverture d'une fenêtre Toplevel. La fenêtre Toplevel contient un bouton d'auto-destruction.

from Tkinter import *

root = Tk()

def zut():
    t=Toplevel()
    a=Button(t,text='A la niche!',command=t.destroy)
    a.pack()

b = Button(root, text='Zou', command=zut)
b.pack()

root.mainloop()


Trivial. Maintenant la question. Comment faire pour que la fenêtre root soit inactive tant que la fenêtre Toplevel est existante à l'écran?
Merci pour votre aide.
Configuration: Windows XP
Firefox 2.0.0.6

Meilleures réponses pour « [Python] [Tkinter] Fenêtre root + Toplevel » dans :
Votre première application graphique avec Python et Glade VoirCe guide vous aidera à créer pas à pas votre première application graphique. Nous allons utiliser le langage de programme Python et l'API graphique GTK, en utilisant le logiciel Glade pour créer facilement les interfaces graphiques. C'est de la...
PhpMyAdmin - 1045- Access denied for user root@localhost VoirPhpMyAdmin - Access denied for user root’@localhost Cette astuce est destinée à ceux qui ont un problème d’ouverture de PhpMyAdmin (par exemple avec WAMP Server ou EasyPHP) avec l'erreur suivante : #1045- Access denied for user...
Le fenêtrage de Microsoft Windows VoirLe vocabulaire relatif au fenêtrage Windows tient son nom (Windows = fenêtre en anglais) du fait qu'il constitue une interface graphique à multi-fenêtrage, c'est-à-dire que l'on peut ouvrir simultanément plusieurs fenêtres sous Windows. Pour les...

1

sebsauvage, le 7 sep 2007 à 10:37:27

Et hop...

from Tkinter import *

root = Tk()

def zut():
    t=Toplevel()
    t.grab_set()
    a=Button(t,text='A la niche!',command=t.destroy)
    a.pack()

b = Button(root, text='Zou', command=zut)
b.pack()

root.mainloop()

Répondre à sebsauvage

2

frites.saucisse, le 7 sep 2007 à 11:33:32

Merci pour la réponse.

Et pour que la fenêtre Toplevel soit celle qui est sélectionnée après le clic sur le bouton de la fenêtre root, je suppose qu'il faille préciser une histoire de focus ?

Répondre à frites.saucisse

3

sebsauvage, le 7 sep 2007 à 11:45:50

Tout à fait:

from Tkinter import *

root = Tk()

def zut():
    t=Toplevel()
    t.grab_set()
    t.focus_set()
    a=Button(t,text='A la niche!',command=t.destroy)
    a.pack()

b = Button(root, text='Zou', command=zut)
b.pack()

root.mainloop()

Répondre à sebsauvage

4

Sonkun67, le 14 aoû 2009 à 00:24:53

2 ans et demi plus tard, je pose juste ce petit message pour vous remercier de référencer les moteurs de recherche :) (ce sujet à répond à 3 de mes questions d'un coup que je me posais depuis un petit bout de temps...)

(et merci à sebsauvage pour son site web qui est toujours très amusant à lire.. dossier et particulièrement "les choses qui m'énerve")

Bonne soirée

Répondre à Sonkun67

5

 sebsauvage, le 17 aoû 2009 à 12:12:09

Merci.
Je suis content que ça puisse aider.

Répondre à sebsauvage