#!/usr/bin/env python # -*- coding: utf8 -*- # Import des modules import wx # Ce module utilise le nouvel espace de nom wx. #--------------------------------------------------------------------------- class MotdePasse(wx.Dialog): """ Crée la classe "Mot de passe". """ def __init__(self, parent, id): wx.Dialog.__init__(self, None, -1, title=u"Crée et affiche une PasswordEntryDialog", style=wx.DEFAULT_DIALOG_STYLE) # Lie l'événement de fermeture au gestionnaire d'événements self.Bind(wx.EVT_CLOSE, self.OnCloseWindow) #------------------------------------------------------------------- # Ajoute un bouton bouton = wx.Button(self, -1, label=u"Afficher ma fenêtre de mot de passe", pos=(100, 80)) # Lie un événement de bouton au gestionnaire d'événements self.Bind(wx.EVT_BUTTON, self.OnButton, bouton) #------------------------------------------------------------------- # Centre la frame à l'écran self.CenterOnScreen() #----------------------------------------------------------------------- def OnButton(self, evt): dlg = wx.PasswordEntryDialog(self, message="Entrez le mot de passe :", caption=u"Accès limité") if dlg.ShowModal() == wx.ID_OK: print(u"Vous avez saisi : %s\n" % dlg.GetValue()) dlg.Destroy() def OnCloseWindow(self, event): """ Quitte et détruit l'application. """ self.Destroy() #--------------------------------------------------------------------------- class App(wx.App): """ Toutes les applications wxWindows doivent avoir une classe dérivée de wxApp. """ # wxWindows appelle cette méthode pour initialiser l'application def OnInit(self): frame = MotdePasse(None, -1) frame.Show(True) self.SetTopWindow(frame) # Renvoie un indicateur de réussite return True #--------------------------------------------------------------------------- if __name__ == "__main__": """ Démarrage du gestionnaire d'événements (boucle principale). """ # Crée une instance de la classe wxApp app = App(False) # Démarre le processus d'événements app.MainLoop()