Fenêtre de login et pass

Fenêtre de login et pass - Python - Programmation

Marsh Posté le 22-07-2004 à 10:09:55    

Bonjour à tous,
 
j'aimerais à la suite d'un clic sur un bouton obtenir une fenêtre de login et pass (j'ai vu comment définir ça en wxPython) mais je n'arrive pas à ouvrir de fenêtre.
J'aimerais ensuite qu'à la validation de cette fenêtre, je puisse récupérer le login et le pass pour les tester.
 
Pour le test, je sais comment faire.
 
Merci d'avance

Reply

Marsh Posté le 22-07-2004 à 10:09:55   

Reply

Marsh Posté le 22-07-2004 à 10:30:19    

Sujet abordé récemment dans la catégorie python:
http://forum.hardware.fr/hardwaref [...] 3908-1.htm

Reply

Marsh Posté le 22-07-2004 à 10:48:01    

Mon problème c au niveau de l'interface graphique,  
je n'ai pas besoin de coder le pass, vu que je le teste sur une db sql

Reply

Marsh Posté le 22-07-2004 à 10:53:27    

fenêtres wxPython -> http://forum.hardware.fr/hardwaref [...] 5220-1.htm
récupération d'éléments: tes champs de saisie (wx.TextCtrl) doivent être des membres de la classe de ta fenêtre de login (en clair self.login = wx.TextCtrl(...) et self.pwd = wx.TextCtrl(..., style = wx.TE_PASSWORD), le tout dans une classe MyDialog dérivé de wx.Dialog par exemple)
 
Ensuite tu crées ta fenêtre (dlg = MyDialog(args)), tu l'affiches (out = dlg.ShowModal(), ce qui empêche l'utilisateur de continuer tant qu'il n'a pas fermé le dialogue).
Ensuite tester la validité de ta sortie (out == wx.ID_OK quand tu as créé une boite avec un bouton OK [et un cancel optionnel])
Puis récupérer les valeurs entrées dans la boite par user = dlg.login.GetValue() [récupère le texte entré dans le champ wx.TextCtrl de nom "login"] et pwd = dlg.pwd.GetValue(), et enfin détruire ta boite de dialogue par dlg.Destroy(), tu as maintenant user et pwd qui contiennent (en local dans ta fonction) les valeurs saisies dans ta boite de dialogue
 
Attention à bien toujours récupérer les valeurs de sortie avant de détruire la boite, et les valeurs à sortir doivent bien être déclarées en tant que membres de la classe du dialogue (self.var) et pas en tant que variables locales, sinon elles ne seront pas récupérables
 
et j'ose éspérer que ton pwd n'est pas stocké en clair dans ta DB  :non:


Message édité par masklinn le 22-07-2004 à 10:55:49

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-07-2004 à 13:29:18    

Comment faire un self.Bind d'un évènement qui soit l'appui sur une touche, je ne vois pas trop comment utiliser wx.KEY_CHAR pour lui préciser la touche.  
Le raccourcis clavier serait par exemple 'c' pour un bouton qui se trouve dans une wx.Frame
Merci

Reply

Marsh Posté le 23-07-2004 à 13:44:04    

démo wxPython -> Process and Events -> KeyEvents.
 
t'as EVT_CHAR, EVT_KEY_DOWN et EVT_KEY_UP qui sont montrés
(par contre il faut utiliser skip/pass sur KEY_DOWN et KEY_UP pour que CHAR soit activé j'ai l'impression)


Message édité par masklinn le 23-07-2004 à 13:47:04

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-07-2004 à 14:01:27    

J'ai vu ça mais comment tu fais avec le KEY DOWN à lui dire que tu ne veux qu'une seule touche de bien définie pour appeler ma fonction???
Parce que du coup à chaque Key Press il appelle la fonction.

Reply

Marsh Posté le 23-07-2004 à 14:31:01    

ben tu fais un test de la key appelée, dans la démo il l'affiche toi tu regarde quelle key c'est (dans la fonction appelée par wx.EVT_KEY_DOWN ou wx.EVT_CHAR) et si c'est la key que tu veux tu appelles la fonction associée au bouton


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed