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 :

Affichage d'un texte dans un gtktextview (glade)


Sujet :

GTK+ avec Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 20
    Par défaut Affichage d'un texte dans un gtktextview (glade)
    Bonjour à tous !!
    une petite question sur l'affichage d'une zone de texte sous glade.
    Je voudrais afficher le contenu d'une variable dans une fenêtre glade (le texte ne doit pas être modifiable et doit s'afficher au démarrage de l'application.
    Je pense utiliser un gtktextview -> mais je ne suis pas sur que c'est le bon élément...
    J'ai lu qu'il fallait stocker le contenu dans gtktextbuffer mais j'ai l'impression que le moindre truc prend tout de suite de l'ampleur avec gtk...

    exemple de code python :

    toto = "mon texte a afficher"

    def affichage(self,widget):
    (envoyer le contenu de toto au gtktextview)

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    Bonjour,

    Pas de panique, rien n'est vraiment compliqué lorsque l'on sait l'utiliser.

    Voila comment inclure un texte dans un gtktextview :

    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
     
    import gtk.glade
     
    toto = "mon texte a afficher"
    glade= gtk.glade.XML("fichier.glade", 'nom  du gtk.Window')
    glade.get_widget("texte").set_sensitive(False) # Pour eviter de le modifier
     
    def mofidier_le_text(self):
        buf = glade.get_widget("texte").get_buffer()
        buf.set_text(toto)
     
     
    def ajouter_le_text_a_la_fin(self):
        buf = glade.get_widget("texte").get_buffer()
        end_iter = buf.get_end_iter()
        buf.insert(end_iter, toto)
    EN revanche si vous desirez juste afficher du texte sans le modifier, le plus simple est d'utiliser un label :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import gtk.glade
     
    toto = "mon texte a afficher"
    glade= gtk.glade.XML("fichier.glade", 'nom  du gtk.Window')
     
    def mofidier_le_text(self):
        glade.get_widget("label").set_text(toto)
    Voila, si vous avez besoind 'autres informations, n'hesitez pas

    Bonne continuation

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 20
    Par défaut c pas gagné...
    merci pour ton aide je vais donc passer par un label car il ne s'agit que d'un affichage...

    cela ne marche pas, des erreurs si j'utilise self.interface.get_widget("console").set_text(welcome)et avec mon code rien d'afficher mais pas d'erreur, alors je te présente mon code pour voir d'où viens le pb !! J'ai repris du code que j'adapte enfin j'essaye !! sous glade le nom du label s'appel "console" pas de signaux de configurés...

    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import sys
    import os
    import gtk
    
    welcome="mon texte ici"
    
    #class qui permet l'affichage et l'interaction avec l'interface graphique sous glade
    class affichage:
    	
        # fermeture de la fenetre
        def on_mainWindow_destroy(self, widget):
    	gtk.main_quit()
    
    			
        # au clic sur le bouton fichier>quitter
        def on_imagemenuitem_quit_activate(self, widget):
    	gtk.main_quit()
    	
    
    
    
            
        # un petit message à propos de la license du script :)
        def licence(self,widget):
        	self.interface.get_objet("console").set_text(welcome)
    
    
    
     	
        def __init__(self):
        
         
            
            # use GtkBuilder to build our interface from the XML file 
            try:
                self.interface = builder = gtk.Builder()
                builder.add_from_file("projet.glade") 
            except:
                self.error_message("Failed to load UI XML file: projet.glade")
                sys.exit(1)
                
            # get the widgets which will be referenced in callbacks
            self.window = builder.get_object("window1")
            self.console = builder.get_object("console")
    	
    	
            # connect signals
            builder.connect_signals(self)   
    
    	        
    
        # Run main application window
        def main(self):
            self.window.show()
            gtk.main()
        
    if __name__ == "__main__":
        fenetre = affichage()
        fenetre.main()

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 20
    Par défaut ok c bon ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    welcome="mon texte ici"
     
    def __init__(self):
     
    self.console = builder.get_object("console").set_text("welcome")

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

Discussions similaires

  1. Affichage d'un texte dans un document.
    Par Luffy49 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/03/2007, 19h32
  2. Ouverture fenetre + affichage d'un texte dans un champ texte
    Par fabien14 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/03/2007, 10h09
  3. Ajout de texte dans un GtkTextView
    Par youp_db dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 16/02/2006, 21h54
  4. Affichage différent selon texte dans une case
    Par pingoo78 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 16h32
  5. Affichage d'un texte dans la barre d'état!
    Par chuart dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 12/04/2005, 12h47

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