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 :

Comment importer wx


Sujet :

wxPython

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut Comment importer wx
    Bonjour,

    J ai une question de debutant, j ai besoin de creer une fenetre mais quand je fais
    Import wx
    Il me dit qu il ne connait pas.
    Je suis sous ubuntu, est ce qu il faut faire un truc particulier?

    Merci

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Tu a installer le paquet python-wxgtk ?

    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Autre chose : y'a pas sous Python 3
    Merci d'utiliser le forum pour les questions techniques.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut
    Quelle est l alternative a wxpython pour python3?
    En fait je dois faire une tache qui s execute en boucle et qui va pinguer un serveur.
    Si celui ci ne repond pas, je dois ouvrir une popup

    Merci

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Citation Envoyé par bender86 Voir le message
    Quelle est l alternative a wxpython pour python3?
    Est ce vraiment la vrais question ? Pourquoi ne pas utiliser l'existant ?
    Qu'avez vous d'installer sur le serveur ? Quelle version de Python ? Quel GUI ?
    Sous Ubuntu (de base) vous n'avez pas de Wrapper GUI installé de base.

    Si c'est juste pour un popup je pense à Tkinter (Pas du Xdialog quand même... Même pas d'origine sous Ubuntu).
    Le code d'import suivant est compatible Python 2/3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # -*- coding: utf-8 -*-
    #
    #
    #
    try:
        import Tkinter as Tk
    except:
        import tkinter as Tk
    Et vous utilisez Tkinter avec 'Tk'
    Au niveau GUI c'est largement suffisant pour ce que vous voulez faire.
    Vous devez bien sur installer python-tk pour Python 2.x ou python3-tk pour Python 3.x.

    Maintenant votre projet:
    C'est juste un script qui se lance ou un deamon ?
    Si c'est un deamon avez vous penser sur quel screen cela vas s'afficher ?
    Pensez y

    @+
    Merci d'utiliser le forum pour les questions techniques.

  6. #6
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Citation Envoyé par PauseKawa Voir le message
    (Pas du Xdialog quand même... Même pas d'origine sous Ubuntu)
    Et pourquoi pas en fait...
    Avez vous penser a lancer un script shell Xdialog ?
    Renseignez vous sur export DISPLAY=:0

    @++

    Edit : Cela implique l'utilisation de subprocess.
    Merci d'utiliser le forum pour les questions techniques.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut
    C est plutot un daemon qui me faut et il faudrait que ca tourne sous windows aussi comme service.

    Donc est ce qu il est possible a partir de mon .py d inclure toutes les dependances necessaires pour que ca tourne sans rien installer sur les machines client qui auront ca.

    Pour pinguer, je pensais utiliser subprocess.popen(ping ip) et ca avec un thread et timer pour qu il tourne en boucle.
    Seulement commentnrecuperer si le ping c est bien passe ou non a chaque appel?
    Et si ca ne repond pas, ouvrir ma popup.

    Merci

  8. #8
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    En plus simple

    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
    # -*- coding: utf-8 -*-
    #
    #
    #
    import subprocess
    try:
        import Tkinter as Tk
    except:
        import tkinter as Tk
     
    host = '192.168.1.1'
     
    def showroot():
        root.deiconify()
     
    def pingme():
        ping = subprocess.Popen(['ping', '-c', '1', host], stdout=subprocess.PIPE)
        stdo = ping.communicate()
        if '1 errors' in stdo[0]:
            showroot()
        else:
            root.after(1, pingme)
     
    def hideme():
        root.withdraw()
        pingme()
     
    root = Tk.Tk()
    root.title('Information connexion')
    Tk.Label(root, text="Connexion perdue avec l'hote %s" % host, fg='red').pack(padx=5, pady=5)
    Tk.Button(root, text='Attendre', command=hideme).pack(side=Tk.LEFT, padx=5, pady=5)
    Tk.Button(root, text='Quitter', command=root.quit).pack(side=Tk.RIGHT, padx=5, pady=5)
    hideme()
    root.mainloop()
    + ceci

    @+
    Merci d'utiliser le forum pour les questions techniques.

  9. #9
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Re,

    Maintenant si c'est 'pour ne rien installer' vous pouvez le faire avec wx.
    Qu'importe la version de Python ?
    Merci d'utiliser le forum pour les questions techniques.

  10. #10
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Petit oubli, la version wx (code a corriger)

    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
    import wx
    import subprocess
     
    class Frame(wx.Frame):
        def __init__(self):
            wx.Frame.__init__(self, None, title="Information connexion", size=(300,100))
            self.st = wx.StaticText(self, 1, "Connexion perdue avec l'hote %s" % host, (5,30))
            self.st.SetForegroundColour(wx.RED)
            wx.Button(self, 2, 'Quitter', (150, 60))
            wx.Button(self, 3, 'Attendre', (50, 60))
            self.Bind(wx.EVT_BUTTON, self.OnCloseWindow, id=2)
            self.Bind(wx.EVT_BUTTON, self.ReStart, id=3)
            self.timer = wx.Timer(self)
            self.timer.Start(1)
            self.Bind(wx.EVT_TIMER, self.Cycle)
            self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
     
        def OnCloseWindow(self, evt):
            self.timer.Stop()
            del self.timer
            self.Destroy()
     
        def ShowRoot(self):
            self.timer.Stop()
            frm.Show()
     
        def ReStart(self, evt):
            self.Hide()
            self.timer.Start(1)
     
        def Cycle(self, evt):
            ping = subprocess.Popen(['ping', '-c', '1', host], stdout=subprocess.PIPE)
            stdo = ping.communicate()
            if '1 errors' in stdo[0]:
                self.ShowRoot()
     
    host = '192.168.1.1'
    app = wx.App(False)
    frm = Frame()
    frm.Centre()
    app.MainLoop()
    Merci d'utiliser le forum pour les questions techniques.

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/09/2007, 12h55
  2. Comment importer une form
    Par Akim13 dans le forum EDI
    Réponses: 6
    Dernier message: 09/09/2005, 14h34
  3. Comment importer un activeX sous delphi 2005
    Par Akim13 dans le forum EDI
    Réponses: 1
    Dernier message: 08/09/2005, 21h08
  4. Comment importer un document CSV dans une table MySql ?
    Par magic8392 dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/02/2005, 11h03
  5. [VIEW] comment importer une vue ?
    Par _Eric_ dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 09/11/2004, 22h20

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