Dans ma classe principale qui me crée un root Tk, j'ai une méthode qui fait appel à une autre classe About:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
   def about(self):
      if ..........
         self.about_frame = about.About(self.parent)
Voici le code de ma classe About:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
from Tkinter import *
 
class About:
   def __init__(self, boss):
      self.parent = boss
      self.about_top = Toplevel(self.parent)
      self.about_top.title("About AsTeX")
      self.about_top.resizable(width = NO, height = NO)
      txt = "Voila le about"
      self.msg = Message(self.about_top, text = txt, width = 300)
      self.msg.pack()
      self.exit = Button(self.about_top, text = "<== Back" ,command = self.about_top.destroy, relief = GROOVE)
      self.exit.pack(side = RIGHT)
 
   def run(self):
      self.about_top.mainloop()
Je voulais savoir s'il était possible de tester si une instance de la classe About a été créée (à l'aide d'une méthode ou autre), de façon à n'afficher qu'une seule fois cette fenêtre même si on appuit plusieurs fois sur le bouton qui l'ouvre

un autre truc, je voudrais que cette fenêtre soit placée directement au milieu de l'écran et que l'on ne puisse pas accéder à la fenêtre principale sans avoir fermé auparavant cette fenêtre, en clair qu'elle ait le focus indéfiniment jusqu'à ce qu'on la ferme