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 :

Débutant Python, GUI : pygtk


Sujet :

GTK+ avec Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Débutant Python, GUI : pygtk
    Bonjour !
    Je débute sous python, et j'ai un peu de mal avec les interfaces graphiques. Enfait je ne suis surtout pas sûr de la manière dont il faut procéder.

    Imaginons cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def filelisting():
      filelist = os.listdir('.')
      filelist.remove('renamer.py')
      filelist.sort()
      showfilelist = "\n".join(filelist)
    showfilelist est une variable texte. J'aimerai récupérer ce texte pour le mettre dans un label. Dois-je mettre le label directement dans cette fonction ? Mais alors il doit etre en global ? Ou dois-je mettre showfilelist en global pour le récupérer en dehors ? Enfin bref je ne comprend pas.

    Aussi j'aimerai savoir si cette zone blanche capable d'afficher des fichiers que l'on séléctionne est un widget tout fait ou non.




    Merci d'avance !

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Mon premier problème est résolu j'ai lu le chapitre sur les classes et ça va tout de suite mieux.
    Le 2ème problème, en partie : cette zone blanche ressemble à un treeview... mais mon problème c'est comment faire pour ne pas avoir l'entête de colonne ?

    Voici ce que ça donne on y voit peu distinctement l'entête de la colonne (sans texte) dans les pièces jointes

    Merci
    Images attachées Images attachées  

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par ToY.ch
    Le 2ème problème, en partie : cette zone blanche ressemble à un treeview... mais mon problème c'est comment faire pour ne pas avoir l'entête de colonne ?
    gtk.TreeView.set_headers_visible

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup ! Je recherchais un attribut pour treeviewcolumn voilà pourquoi je ne trouvais pas...

    Encore une autre question quelle est la différence entre le module pygtk et gtk ?
    Parce que j'ai remarqué que de nombreux scripts ne marchaient pas chez moi si il y avait les lignes :

    import pygtk
    pygtk.require('2.0')

    Et dès la suppression de celle-ci plus aucun problème

    J'aimerais aussi savoir quel type de placement de widget privilégier.

    Merci !

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par ToY.ch
    Encore une autre question quelle est la différence entre le module pygtk et gtk ?
    GTK+ = Langage C
    Gtkmm = Langage C++
    PyGtk = Langage Python
    ...

    A part cela ce n'est rien d'autre qu'un binding !


    Citation Envoyé par ToY.ch
    J'aimerais aussi savoir quel type de placement de widget privilégier.
    Ceci ce fait plutôt au cas par cas, pour certaines applications il sera préférable d'utiliser une grille de placement, pour d'autres de simple GtkBox suffiront... tout se joue un peu suivant le nombre de widgets présents sur une même interface et leur disposition etc....
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse.
    Je continue, maintenant que je progresse un peu j'ai de plus en plus de questions

    Voici la fonction de création de mon treeview.

    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
    def makefilelist(self):
    		"Création de la liste des fichiers"
    		self.getdir()
    		files = os.listdir('.')
    		files.remove('renamer.py')
    		files.sort()
    		liststore = gtk.ListStore(str)
    		for f in files:
    			liststore.append([f])
    		treeview = gtk.TreeView(liststore)
    		tvcolumn = gtk.TreeViewColumn(None)
    		treeview.append_column(tvcolumn)
    		treeview.set_headers_visible(False) 
    		cell = gtk.CellRendererText()
    		tvcolumn.pack_start(cell, True)
    		tvcolumn.add_attribute(cell, 'text', 0)
    		self.tableMain.attach(treeview, 0, 1, 0, 3)
    		treeview.show()
    J'aimerai maintenant qu'un utilisateur puisse changer de dossier grâce à un "file chooser button". en voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		self.FileChooserDialog = gtk.FileChooserDialog(action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,gtk.RESPONSE_ACCEPT))
    		self.button = gtk.FileChooserButton(self.FileChooserDialog)
    		self.tableMain.attach(self.button, 0, 1, 3, 4)
    		self.textbutton = self.button.get_filename()
    Comment faire pour actualiser le contenu du treeview en temps réel suivant le choix de l'utilisateur ?

    Merci !

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ah ça commence à venir !
    J'ai appris à utiliser les Signaux.

    Le problème c'est que mon treeview ne veux pas se mettre à jour alors que le liststore oui ! Comment faire ?

    Edit : Hopla finalement c'est bon !
    Merci

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

Discussions similaires

  1. Débutant : Python et Python (x,y) ?
    Par jlg_47 dans le forum Général Python
    Réponses: 9
    Dernier message: 23/02/2010, 13h33
  2. aide pour un débutant python
    Par daniel130 dans le forum Général Python
    Réponses: 12
    Dernier message: 12/12/2009, 17h44
  3. python : installer pygtk
    Par elekis dans le forum Déploiement/Installation
    Réponses: 1
    Dernier message: 15/03/2008, 12h08
  4. [débutant]Passage GUI de Swing vers SWT
    Par Méta dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 04/05/2006, 13h29
  5. [Débutant] Interfaces GUI sophistiquées
    Par calogerogigante dans le forum Interfaces Graphiques en Java
    Réponses: 24
    Dernier message: 11/08/2005, 19h54

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