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

Tkinter Python Discussion :

Afficher mes resultats dans le widget Entry() pas dans la console [Python 2.X]


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de johntheripper
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 43
    Par défaut Afficher mes resultats dans le widget Entry() pas dans la console
    Bonjour a tous, j'ai un probleme que je n'arrive pas a resolver... j'ai fait un script qui contient 2 classes, une premiere classe qui contient l'affichage graphique et une autre classe qui contient le programme complet.

    lorsque je clicke sur le button (SCAN) le cript marche bien mais le resultat s'affiche dans la console linux, pourtant que mon but c'est de l'afficher dans le widget Entry()

    Vici le code source, j'aimerais une repone s'iil vous plait. Cordialement
    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
    #!/usr/bin/python
    # -*-Coding:UTF-8 -*-
     
    import socket
    import dns.resolver
    import dns
    from pierky.ipdetailscache import IPDetailsCache
    import geocoder
    import os
    from Tkinter import *
     
     
    class Findme:
        "this class show some informations on website"
        def data_web(self,ip):
     
                 self.ip = ip
                 self.name = socket.gethostbyname(self.ip)  # Convert the site web name in address ip x.x.x.x
                 self.cache = IPDetailsCache()  # call the Class 'IPDetailsCache()'
                 self.r = self.cache.GetIPInformation(self.name)  # use the 'GetIPInformation()' methods
                 print("adresse IPV4 : {0}".format(self.name))  # show the website ip
     
                 print("******************************************************************")
                 print("\n\t\t\tASN informations:\n")  # show ASN informations
     
                 for cle, valeur in self.r.items():  # select the items methods for show 'cle and valeur' values in boucle
                     print cle, ":", valeur
     
                 print("******************************************************************")
                 print("\n\t\t\tLocalisation:\n")
     
                 i = geocoder.maxmind(self.name)
                 a = i.json
                 for local, loac in a.items():
                    print local, ":", loac
     
                 print("******************************************************************")
                 print("\n\t\t\tMAILS SERVERS:\n")
     
                 reponse = dns.resolver.query(self.ip, 'MX')  # the variable 'reponse' contains the value MX of dns server
                 for rdata in reponse:
                     print"seveurs mails:", (rdata.exchange)  # show the server mail
     
                 print("******************************************************************")
                 print("\n\t\t\tDNS SERVERS:\n")
     
                 contenu = dns.resolver.query(self.ip, 'NS')  # the variable 'contenu' contains the value NS of dns server
                 for resultat in contenu:
                     print"seveurs DNS:", (resultat)  # show all name servers dns
     
                 print("******************************************************************")
                 print("\n\t\t\tWHOIS GATHERING INFORMATIONS:\n")
     
                 self.command = "whois" + " " + self.ip
                 process = os.popen(self.command)
                 self.results = str(process.read())
                 print(self.results)
     
                 print("******************************************************************")
                 print("\n\t\t\tTRANSFERT ZONE LOADING...\n")
     
                 self.f = "fierce" + " " + "-dns" + " " + self.ip
                 self.process = os.popen(self.f)
                 self.result = str(self.process.read())
                 print(self.result)
     
     
     
    class Graphic:
        "create the GUI"
     
        def __init__(self):
            self.fen = Tk()
            self.fen.geometry('800x700')
            self.fen.title('Findme')
     
            s1 = Scrollbar(self.fen, orient=VERTICAL)
            s2 = Scrollbar(self.fen, orient=HORIZONTAL)
            self.t1 = Text(self.fen, width=80, height=45, wrap=NONE, fg = 'red')
     
            self.hidou = StringVar()
            Entry(self.fen, width=40, text=self.hidou, bg='black', fg='white').place(x='160', y='670')  # create a zone text string
            Label(self.fen, text='input your website:', fg='red').place(x='40', y='670')  # show the title"input youur website"
            Button(self.fen, text='SCAN', fg='RED',command= self.messages).place(x='500', y='665')
            Button(self.fen, text='EXIT', fg='RED', command=self.fen.destroy).place(x='570', y='665')
            Button(self.fen, text='EXPORT', fg='RED').place(x='630', y='665')
     
            s1.config(command=self.t1.yview)
            s2.config(command=self.t1.xview)
            self.t1.config(yscrollcommand=s1.set, xscrollcommand=s2.set)
     
            self.t1.grid(column=0, row=0)
            s1.grid(column=1, row=0, sticky=S + N)
            s2.grid(column=0, row=1, sticky=W + E)
     
     
     
     
        def messages(self):
            self.donnees = self.hidou.get()
            self.sh = Findme()
            self.sh1 = self.sh.data_web(self.donnees)
     
     
     
     
    if __name__ == "__main__":
        graphical = Graphic()
        graphical.fen.mainloop()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Votre programme ne peut pas fonctionner vu la façon dont vous avez associé la StringVar à l'Entry. Après pour mettre à jour l'Entry, il faut apprendre à jouer avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> import tkinter as tk
    >>> root = tk.Tk()
    >>> v = tk.StringVar()
    >>> e = tk.Entry(root, textvariable=v)
    >>> e.pack()
    >>> v.get()
    '123'
    >>> v.set('abc')
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre actif Avatar de johntheripper
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 43
    Par défaut
    en fait je veux afficher mes resultats dans la zone de texte du widget Text() et non dans la console ni dans le Entry(), mais plutot dans le widget Text()

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2012
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 321
    Par défaut
    Bonjour,

    Intéressez vous à la méthode insert du widget text.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    T = Text(root, height=2, width=30)
    T.pack()
    T.insert(END, "ici j'insère ma ligne")

  5. #5
    Membre actif Avatar de johntheripper
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 43
    Par défaut
    je n'arrive toujours pas a fficher dans le widget Text() mes infos avec la methodes insert()..... je ne sais plus quoi faire je suis a bout d'idée aidez moi SVP

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2012
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 321
    Par défaut
    Bonjour,

    Postez ce que vous avez fait. Sans cela impossible de vous aider. Je ne parkle pas de votre code original, je parle de votre code modifié (de vos essais) ainsi que le traceback complet.

    Petit conseil, effectuez des tests simples. Avec une fenêtre et un seul text widget. Puis adaptez vos exercices à votre situation plus complexe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 2.X] Afficher mes resultats dans le widget Entry() pas dans la console
    Par johntheripper dans le forum GUI
    Réponses: 2
    Dernier message: 13/03/2017, 20h00
  2. [2D/3D] QGraphicsView ne s'affiche pas dans un widget
    Par Cpowa dans le forum Qt
    Réponses: 4
    Dernier message: 26/08/2010, 16h38
  3. je peux pa afficher mes resultat sur flxgrid
    Par ryassine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/07/2007, 03h56
  4. Réponses: 4
    Dernier message: 02/06/2006, 12h03
  5. [Tkinter] ecrire un texte dans un widget entry
    Par thierry_b dans le forum Tkinter
    Réponses: 3
    Dernier message: 15/12/2005, 11h38

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