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

GTK+ avec Python Discussion :

recuperer valeur composant


Sujet :

GTK+ avec Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut recuperer valeur composant
    Bonjour à tous,

    Je suis actuellement étudiant et développe depuis quelques années sur du crosoft ( c# ) et je voulais m aventurer dans le monde du libre. Je me suis donc installer Ubuntu il y a peu et j ai voulu me mettre sur l'incontournable Python. pour ce faire je me suis basé sur l'article publié dans le Programmez! du mois d'Avril.

    J'ai donc installé Glade. Je me suis créé une interface " a la con " comportant juste un bouton et un label.

    Description de l interface :
    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
     
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
    <!--Generated with glade3 3.4.5 on Thu Apr 23 11:32:29 2009 -->
    <glade-interface>
      <widget class="GtkWindow" id="fen_principale">
        <property name="title" translatable="yes">Mon Hello World ++</property>
        <property name="window_position">GTK_WIN_POS_CENTER</property>
        <child>
          <widget class="GtkHBox" id="hbox1">
            <property name="visible">True</property>
     
            <child>
              <widget class="GtkButton" id="btn_test">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
                <property name="label" translatable="yes">button</property>
                <property name="response_id">0</property>
     
                <signal name="clicked" handler="on_btn_test_clicked"/>
              </widget>
            </child>
            <child>
              <widget class="GtkLabel" id="lbl_test">
                <property name="visible">True</property>
                <property name="label" translatable="yes">label</property>
              </widget>
     
              <packing>
                <property name="position">1</property>
              </packing>
            </child>
          </widget>
        </child>
      </widget>
    </glade-interface>
    Ensuite j ai voulu écrire le "programme" mais c'est la que cela se corse... Je n'arrive pas a récupérer les composants... Je m explique je voudrais faire un set_text du label mais je ne vois pas comment faire...

    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
     
    #!/usr/bin/python
     
    import gtk
     
    class ClsTest :
     
    	def __init__(self) :
    		builder = gtk.Builder()
    		builder.add_from_file("test.ui")
    		self.window = builder.get_object("fen_principale")
    		builder.connect_signals(self)
     
    	def on_btn_test_clicked(self, widget, data=None) :
                   print "Youhou"
                    #ligne qui me pose probleme
    		self.window.get_objects().get_object('lbl_test').set_text("youhou !!")		
     
    editor = ClsTest()
    editor.window.show()
    gtk.main()
    Vous me direz surement : "Google est ton ami" ou tout autre chose du genre mais je vous assure j ai cherché et je ne vois pas comment faire. Merci de me venir en aide.

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    La méthode "get_objects()" s'applique à un objet "Builder" :
    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
    #!/usr/bin/python
     
    import gtk
     
    class ClsTest :
     
    	def __init__(self) :
    		self.builder = gtk.Builder()
    		self.builder.add_from_file("test.ui")
    		self.window = builder.get_object("fen_principale")
    		self.builder.connect_signals(self)
     
    	def on_btn_test_clicked(self, widget, data=None) :
                   print "Youhou"
                    #ligne qui me pose probleme
    		self.builder.get_objects().get_object('lbl_test').set_text("youhou !!")		
     
    editor = ClsTest()
    editor.window.show()
    gtk.main()
    (j'ai pas testé mais je pense que ça vient de là)

  3. #3
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut
    Bonjour,

    Merci beaucoup monnomamoi !!

    Il a juste fallu rajouter self a un endroit en plus (où j ai mis le commentaire ICI ) mais sinon cela marche niquel, merci beaucoup ! Je commence a piger (vraiment tout doucement) la philosophie Python.

    Merci encore

    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
     
    #!/usr/bin/python
     
    import gtk
     
    class ClsTest :
     
    	def __init__(self) :
    		self.builder = gtk.Builder()
    		self.builder.add_from_file("test.ui")
                    #ICI
    		self.window = self.builder.get_object("fen_principale")
    		self.builder.connect_signals(self)
     
    	def on_btn_test_clicked(self, widget, data=None) :
                   print "Youhou"
                    #ligne qui me pose probleme
    		self.builder.get_objects().get_object('lbl_test').set_text("youhou !!")		
     
    editor = ClsTest()
    editor.window.show()
    gtk.main()

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

Discussions similaires

  1. recuperation valeurs de composant AS2
    Par bernard26000 dans le forum Flash
    Réponses: 1
    Dernier message: 29/08/2008, 18h19
  2. [sgbd] Recuperer valeurs d'un Select dans un tableau
    Par Mu_Belier dans le forum SGBD
    Réponses: 16
    Dernier message: 27/05/2005, 15h46
  3. [C#] Custom Control : Recuperer valeur formulaire
    Par victorbru dans le forum ASP.NET
    Réponses: 22
    Dernier message: 21/04/2005, 09h02
  4. [STRUTS] Recuperer valeurs d'une url enrichi ?
    Par Ev3rGlide dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/04/2005, 11h39
  5. [DateTimePicker]Recuperation valeur date
    Par jane2002 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/02/2003, 11h29

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