IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxPython Discussion :

Pb sur l'apparation d'une fenêtre


Sujet :

wxPython

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut Pb sur l'apparation d'une fenêtre
    Bonjour, j'ai un autre pb depuis le premier poste que j'ai laisse, je vous solicite donc à nouveau.
    En fait quand je lance mon pb, suite à un choix dans le menu, j'ai une premiere qui s'affiche, me demandant une adresse ip (Bref on s'en tape!) puis je valide, la je voudrais qu'une fenetre apparaisse. Oui mais voila, je veux pas detruite celle de depart, et l'ennuie c'est que cette fenetre apparait que en fermant l'autre...J'en ai besoin pour la suite, auriez vous une idée. Voici le code du menu et de la partie lance (recherche d'un pc voila tout!!)

    menu.pyw
    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
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    ##### Librairies
    import wx                   #Permet d'accéder au wxWidgets (Interface graphique)
    import locate_PC            #Permet de localiser un PC
    import locate_all_PC        #Permet de localiser plusieurs PC
    import scan_port            #Permet de scanner un port
    import identification       #Module d'identification
    import scan_all_port        #Permet de scanner plusieurs port
    import os                   #Permet de faire des operations systeme
    import autoscr              #Permet d'avoir accés à la fonction pour resolution écran
    import decrypt              #Permet d'acceder à la fonction de decryptage
    import adress               #Permet de demander l'adresse IP ou le nom réseau
    import readstock            #Permet d'ouvrir et de lire un fichier
    #####
     
    ########################### Fonction qui determine si un fichier existe ou pas
    def file_exists(fichier):
       try:
          file(fichier)
          return True
       except:
          return False
    ###########################
     
    ID_EQUIP = 100
    ID_GROUP = 101
    ID_ONEPORT = 200
    ID_MOREPORT = 201
    ID_PROPOS = 300
     
    # Définition des menus
     
    class LesMenus(wx.Frame):
       def __init__(self, titre):
            wx.Frame.__init__(self, None, 1,title = titre, size = (autoscr.Screenauto()))
     
            menuLocaliser = wx.Menu()
            menuLocaliser.Append(ID_EQUIP, "&Un équipement\tCTRL+e")
            menuLocaliser.Append(ID_GROUP, "&Un groupe de PC\tCTRL+g")
     
            menuScanner = wx.Menu()
            menuScanner.Append(ID_ONEPORT,
                               "&Un port physique d'un equipement reseau\tCTRL+e")
            menuScanner.Append(ID_MOREPORT,
                               "&Plusieurs ports physiques d'un equipement reseau\tCTRL+g")
     
            menuQuitter = wx.Menu()
            menuQuitter.Append(wx.ID_EXIT, "&Quitter\tCTRL+q")
     
            menuQs = wx.Menu()
            menuQs.Append(ID_PROPOS, "&A propos de")
     
            menuBarre = wx.MenuBar()
            menuBarre.Append(menuLocaliser, "&Localiser")
            menuBarre.Append(menuScanner, "&Scanner")
            menuBarre.Append(menuQuitter, "&Quitter")
            menuBarre.Append(menuQs, "&?")
            self.SetMenuBar(menuBarre)
     
            wx.EVT_MENU(self, ID_EQUIP, self.Equip)
            wx.EVT_MENU(self, ID_GROUP, self.Group)
            wx.EVT_MENU(self, ID_ONEPORT, self.Oneport)
            wx.EVT_MENU(self, ID_MOREPORT, self.Moreport)
            wx.EVT_MENU(self, wx.ID_EXIT, self.OnExit)
            wx.EVT_MENU(self, ID_PROPOS, self.Propos)
     
       def Equip(self, evt):      #L'utilisateur veut localiser un PC
            adress.dem()                          #Demande d'adresse IP ou nom Réseau
     
            user = readstock.gooff("vartemp.txt")
            password1 = readstock.gooff("vartemp2.txt")
            adr_eq = readstock.gooff("adrtemp.txt")     
            password = decrypt.Decrypt(password1)   #Decryptage du mdp
     
            locate_PC.locate(adr_eq,user,password)
     
       def Group(self, evt):      #L'utilisateur veut localiser plusieurs PC
            locate_all_PC.locate_all(user,password)
     
       def Oneport(self, evt):    #L'utilisateur veut scanner un port d'un routeur
            host = scan_port.ask_host()             #On demande à l'utilisateur le nom du routeur
            port, mode = scan_port.ask_port()       #On demande à l'utilisateur le nom du port
            scan_port.scan(user, password, host, port, mode)
     
       def Moreport(self, evt):   #L'utilisateur veut scanner plusieurs ports d'un routeur
            scan_all_port.scan_all(user,password)
     
       def OnExit(self, evt):
    #        if file_exists("Temp_locate_PC.txt") == True:   #Si le fichier temporaire existe, on le supprime
    #             os.remove("Temp_locate_PC.txt")
    #        if file_exists("Temp_scan_port.txt") == True:
    #             os.remove("Temp_scan_port.txt")
    #        if file_exists("vartemp.txt") == True:
    #             os.remove("vartemp.txt")
    #        if file_exists("vartemp2.txt") == True:
    #             os.remove("vartemp2.txt")
    #        if file_exists("adrtemp.txt") == True:
    #             os.remove("adrtemp.txt")
            self.Destroy()
     
       def Propos(self, evt):
            dlg = wx.MessageDialog(self,"CISCO TOOLS V1.3", style = wx.OK)
            retour = dlg.ShowModal()
            dlg.Destroy()
     
    class MonApp(wx.App):
       def OnInit(self):
            fen = LesMenus("CISCO TOOLS V1.3")
            fen.Show(True)
            self.SetTopWindow(fen)
            identification.ident()
            return True
     
    app = MonApp()
    app.MainLoop()
    locate_PC
    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
    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
    ##### Librairies
    import wx                   #Permet d'accéder au wxWidgets (Interface graphique)
    import sys                  #Permet de faire des operations systeme (sys.exit)
    import telnetlib            #Permet d'établir des connexions telnet
    import re                   #Permet de faire des recherches sur des chaines de caractères
    import os                   #Permet de faire des operations systeme (os.remove)
    import routeurs             #Liste des routeurs à interroger
    #####
     
    def locate(adr_eq, user, password):
     
        ########## Fonction de connection
        def connection(self): 
            tn.read_until("Username:")          #Attente de la demande du nom d'utilisateur (Username)
            tn.write(user + "\n")               #Ecriture du nom rentre par l'utilisateur. "\n" permet de valider l'entrée
            if password:                        #Si l'utilisateur à tapper un mot de passe
                tn.read_until("Password: ")     #Attente de la demande de mot de passe
                tn.write(password + "\n")       #Ecriture du mot de passe
            mess = tn.read_until("#", 3)
            if re.search ("failed", mess):      #Si le read_until s'arrete à cause du timeout (Authentification failed), il y aura le message d'erreur dans mess
                print ""
                raw_input("Username ou mot de passe incorrect")
                sys.exit()                      #Sort du programme
        ##########
     
        class NewFen(wx.Dialog):
             def __init__(self, titre):
                  wx.Dialog.__init__(self, None, -1, title = titre)
     
             def Fenn(self, evt):
                  aff = wx.MessageDialog(self,adr_eq + user + password, style = wx.OK)
                  retour = aff.ShowModal()
                  aff.Destroy()
     
        class MonApp3(wx.App):
             def OnInit(self):   
                  fen2 = NewFen("Test")
                  fen2.Show(True)
    #              self.SetTopWindow(fen2)
                  return True
     
        app = MonApp3()
        app.MainLoop()
    Voila si des fois vous voyez un petit truc qui pourrai m'aider ca serai cool.
    P.S:L'aide en ligne j'ai un peu du mal, heuresement qu'il y a ce forum!!

    EDIT: J'ai une question bête avec cela: Pourquoi quand je lance mon programme avec l'edition du fichier de lancement, lorsque je quitte l'appli, j'ai un freeze wxpython plante et je dois le fermer de force?Ca vous le fait, ou c'est que moi, parce que j'ai ecris des anneries lol!!

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    Bon j'ai une solution c'est faire travaille en sous marin, et de faire affiche le resultat à la fin et de faire une boucle poru relancer la fenetre de depart!!!
    Un peu naze m'enfin pour le moment c'est tout ce que j'ai.

    Par contre un pb se pose, est t-il possible en Wxpython de faire des recherches de caractere en sous marin...
    La version précédente que j'avais est en python tout court!!
    Dois je remanié ou bien la commande re.search par exemple marchera. Pour le moment il se passe rien lol, donc je sais pas trop ou cela en est!!


    EDIT: Résolu, j'ai contourné le probleme, en lancant ma fenêtre a la fin de ma demande d'adresse et ca marche...

Discussions similaires

  1. Comment changer l'apparence d'une fenêtre
    Par bandit boy dans le forum C++Builder
    Réponses: 13
    Dernier message: 26/06/2011, 16h12
  2. Réponses: 7
    Dernier message: 31/10/2006, 18h29
  3. Disposition sur l'écran d'une fenêtre IE
    Par fabrice.Croize dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2006, 08h28
  4. Evénement quand on clic sur le bord d'une fenêtre ?
    Par gloode dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 17/01/2006, 09h28
  5. Erreur sur l'ouverture d'une fenêtre popup
    Par misa dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/11/2005, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo