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 :

wx.TextCtrl & SetLabel()


Sujet :

wxPython

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Par défaut wx.TextCtrl & SetLabel()
    Bonsoir , j'ai un problème avec le SetLabel d'un/des objets utilisant wx.TextCtrl , en gros je fait un choix entre HD ,MQ ,LQ via le wx.ComboBox
    ce qui doit ajouter/modifier le texte dans un wx.TextCtrl , hors aucun texte ne s'affiche

    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
     
    #!/usr/bin/python
    import os,sys
    import wx
    # Convertisseur vidéo pour la PSP 
    # GPL
     
    liste_profils = ["HD","MQ","LQ"]
    class Interface_main(wx.Frame):
    	def __init__(self,parent, ID, title):
    		wx.Frame.__init__(self, parent, -1, title, pos=(-1,-1), size=(450, 500))
    		self.panel_un = wx.Panel(self,-1)
    		self.label_un = wx.StaticBox(self.panel_un,-1,"Fichier à convertir :",size=(420,100),pos=(10,10))
    		self.label_entree_un = wx.TextCtrl(self.panel_un,-1,size=(330,25),pos=(20,35))
    		self.bouton_entree_un = wx.Button(self.panel_un,-1,"...",size=(50,30),pos=(370,31))
     
    		self.label_deux = wx.StaticBox(self.panel_un,-1,"Séléction du profil",size=(420,120),pos=(10,120))
    		self.combo_entree_un = wx.ComboBox(self.panel_un,-1,size=(400,30),pos=(18,150),choices = liste_profils,style = wx.CB_READONLY)
    		self.label_entree_deux = wx.TextCtrl(self.panel_un,-1,size=(400,25),pos=(18,200))
    		self.Bind(wx.EVT_COMBOBOX, self.ChoixCombobox)
     
    	def ChoixCombobox(label_entree_deux, event):
    		choix_utilisateur = event.GetSelection()
    		if choix_utilisateur == 0:
    			label_entree_deux.SetLabel("[profil HD]")
    		else:
    			print "[Debug choix HD ]pas bon"
    class App_principale(wx.App):
    	def OnInit(self):
    		frame = Interface_main(None, -1, "Elulia PSP")
    		self.SetTopWindow(frame)
    		frame.Show(True)
    		return True
    app = App_principale(0)
    app.MainLoop()
    C'est moi qui code mal ou ? merci de m'aider SVP

  2. #2
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    La fonction Choix_Combo doit ressembler à cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	def ChoixCombobox(self, event):
    		choix_utilisateur = event.GetSelection()
    		if choix_utilisateur == 0:
    			self.label_entree_deux.SetLabel("[profil HD]")
    		else:
    			print "[Debug choix HD ]pas bon"

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Par défaut
    Merci Guigui_, ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    def ChoixCombobox(self, event):
    		choix_utilisateur = event.GetSelection()
    		if choix_utilisateur == 0:
    			self.label_entree_deux.write("[profil HD]")
    		else:
    			print "[Debug choix HD ]pas bon"
    Ca ne va pas posé problème de mettre des self partout quand je ferait de "gros programme" ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Par défaut
    C'est encore moi , il y a t'il un moyen de dire à WxPython d'ouvrir une console de l'environnement par défault de l'utilisateur ? ( par exemple gnome-terminal , Konsole,Sakura etc ) car avec la console de WxPython , il ne m'affiche pas les commandes systeme , du genre ls etc , et je ne lance pas le programme via un terminal ..




    voilà l'exemple sur l'image , il m'affiche la commande système dans le terminal de gnome ( ce qui est normal vu que j'ai lancé le programme depuis le terminal de gnome)

    mais si j'éxécute le programme en double cliquant dessus , il n'y a pas d'ouverture de gnome-terminal,juste la console WxPython qui n'affiche pas les commandes systèmes ... je veux ouvrir la console de l'environnement par défault enfaite .. pas la console Wxpython ..

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