1 2 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