| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 
 | #! /usr/bin/env python
# -*- coding:Utf-8 -*-
 
 
from tkinter import *
 
 
class interface:
 
    def __init__(self):
 
        #self.nbAleatoire = random.choice(range(1,101))
        self.parent=root
 
        self.bouton=Button(self.parent,bg="beige",text="Clic ou Enter pour afficher une fenêtre pop-up",command=self.affichage)
        self.bouton.place(relx=0.3,rely=0.5)
        self.bouton.bind("<Return>",self.affichage)
 
 
    def affichage(self):    
 
        fen1 =FenPopUp("lightblue")
        fen1.affiche("Essai de fenêtre popup")
 
 
 
class FenPopUp(Toplevel):
    "Fenêtre satellite (modale) contenant un simple canevas"
    def __init__(self,couleur="beige"):
        Toplevel.__init__(self)
        self.geometry("400x200")    # "500x400+100+240" permettrait de décaler l'affichage
        self.overrideredirect(0)            # => si paramètre 1 fenêtre sans bordure ni bandeau
        self.transient(self.master)         # => fenêtre 'modale'
        self.configure(bg=couleur)
 
        self.bouton=Button(self,text="Clic ou Enter pour fermer", command=self.destroy,bg="lightyellow")
        self.bouton.place(width=200,height=30,relx=0.3,rely=0.6)
        self.bouton.bind("<Return>", self.destroy)   # Return pour fermer cette fenetre popup  
        self.bouton.bind("<KP_Enter>", self.destroy)   # Return du clavier numerique 
 
    def affiche(self,messagetransmis):
 
        Label(self,text=messagetransmis,bg="lightgreen").place(width=300,height=30,relx=0.1,rely=0.4)
 
if __name__ == "__main__":
 
    root = Tk() 
    myapp = interface()
    root.geometry("600x400")
    root.mainloop() | 
Partager